jQuery .submit() funktioniert innerhalb von Event nicht

Jetzt wo ich darüber nachdenke, ist dein Vorhaben etwas unschlüssig. Wenn das Formular abgesendet wird, wird die Seite neu geladen und der Button ist wieder da. Er ist also je nach Dauer des Absendens nur einen kurzen Augenblick nicht da.

Genua, so ist das gedacht.
Das eigentliche Script/Formular ist natürich komplexer, daher nur dieses kleine Test-Script.

Ich möchte einfach verhindern, das ein User auf den Button mehrere male klickt, solange der Request läuft. Mit .hide() ging das im FF, aber im IE nicht wirklich, deshalb auch das .remove(). Was aber in FF nicht richtig funktioniert.
 
wie wäre

.prop('disabled', true)

?

Oder .css({
position: 'absolute',
left: '-10000px'
})

Dann wird er ja im Monitor vom Nachbarn angezeigt^^

Also mit Disabled scheint es zu funktionieren, werde ich mal testen.
Ist für mich jetzt eigentlich irrelevant, aber nun scheint das "setTimeout" nicht mehr zu funktionieren, egal ob IE oder FF. Da ich dies aber eh nur zu Testzwecken hier eingebaut hatte, ist das nicht weiter schlimm erstmal.
 
Dann setz' den Button doch auf disabled und schick die Formular-Daten per Ajax. Wenn schon, dann richtig :D
 
Hast du mal meinen Vorschlag probiert, den Button außerhalb der form-Tags zu platzieren?
Hat bei mir funktioniert.

HTML:
...
<script type="text/javascript">

$(document).ready(function()
{
	$('#link').click(function(){
		$('#Form').submit();
	});
	
	$('#export').click(function(e){
		$('#Form').submit();
		$('#export').detach();
	});
});

</script>

...

<form id="Form" method="post">
	<input type="hidden" name="image1_hidden" value="senden"  />
</form>
<input type="image" name="image1" value="senden" id="export" />
...
Damit wird dann zwar der Wert des Buttons selber nicht übermittelt, kann man ja aber über ein hidden-Inputfeld nachholen.
 

Neue Beiträge

Zurück