Grex: Mehrere Submit Buttons = IE Crash

Hallo,

ich benötige eure Hilfe.
Ich hab hier ein Formular mit zwei Submitbuttons, damit ich weiß, welcher Submitbutton (senden oder speichern) geklickt wurde, erstelle ich eine Varaible beim onclick-Event und teile einen Namen zu, z.B. "button1"

Bei der JS Funktion checkform gebe ich dann die Variable aus. In Firefox funktioniert es ohne Probleme, jedoch in IE weiß er nicht, weche Variable nun btnWthichButton hat.

Hier der Code:

  
<html>  
	<head>  
		<title>Test</title>  
		<script language="JavaScript" type="text/javascript">  
		function checkform()  
		{  
			alert(btnWhichButton);  
			return false;  
		}  
		</script>  
	</head>  
	<body>  
	<form name="Testform" action="#" method="POST" onsubmit="return checkform();">  
			<input type="submit" name="submit" value="Senden" class="button" onclick="btnWhichButton = 'button1'">  
			<input type="submit" name="save" value="Speichern" class="button" onclick="btnWhichButton = 'button2'">  
			<input type="reset" name="reset" value="Zurücksetzen" class="button" onclick="btnWhichButton = 'button3'">  
	</form>  
	</script>  
	</body>  
</html>  

btnWhichButton handelt es sich doch um globale Variablen und IE dürfte ja auch keine Probleme damit haben oder? - Ich weiß ich könnte btn.WhichButton = this zuteilen, aber habs jetzt mal so probiert, auch da klappts nicht.

  1. servus Grex,

    Ich hab hier ein Formular mit zwei Submitbuttons, damit ich weiß, welcher Submitbutton (senden oder speichern) geklickt wurde, erstelle ich eine Varaible beim onclick-Event und teile einen Namen zu, z.B. "button1"

      
    
    > <input type="submit" name="submit" value="Senden" class="button" onclick="btnWhichButton = 'button1'">  
    > <input type="submit" name="save" value="Speichern" class="button" onclick="btnWhichButton = 'button2'">  
    > <input type="reset" name="reset" value="Zurücksetzen" class="button" onclick="btnWhichButton = 'button3'">  
    
    

    Du brauchst kein Javascript. Hast du dir serverseitig mal angeschaut, was gesendet wurde? Unter den Daten muss sich auch der geklickte Button befinden, abrufbar etwa so:
    $_POST['submit'] oder $_POST['save'] (in PHP)

    Die anderen Buttons werden ignoriert.

    Bei der JS Funktion checkform gebe ich dann die Variable aus. In Firefox funktioniert es ohne Probleme, jedoch in IE weiß er nicht, weche Variable nun btnWthichButton hat.

    Vielleicht wird das submit-Event vor dem click-Event abgewickelt? Dann gäbe es die Variable noch nicht.

    henman

    --
    "Sir, we are surrounded!" - "Excellent, we can attack in any direction!"
    1. Hallo Henman,

      danke für deine schnelle Rückmeldung. Ich brauch es deswegen weil ich Pflichtfelder machen will, bei senden werden mehr benötigt als bei nur save.
      (Die inputfelder sind jetzt im Beispiel nicht dabei)

      Gibts einen alternativen Weg?
      Hab mir gedacht, dass ich onSubmit weg mache, und dann einfach bei onclick="checkform('button1');" reinschreibe. Das funktioniert auch soweit, nur funktioniert document.Testform.submit(); nicht :(

      1. Hi,

        Hab mir gedacht, dass ich onSubmit weg mache, und dann einfach bei onclick="checkform('button1');" reinschreibe. Das funktioniert auch soweit, nur funktioniert document.Testform.submit(); nicht :(

        Das „funktioniert nicht“, weil du ein Formularfeld mit dem Namen "submit" hast – das überschreibt die submit-Methode.

        Btw., lerne bitte mal, Probleme etwas sorgfältiger zu analysieren, als nur “funzt nich” von dir zu geben.

        Und wo jetzt der angebliche „Crash“, von dem im Titel zu lesen ist – worunter man normalerweise einen Absturz des Browsers versteht – passieren soll, sehe ich auch nicht.

        MfG ChrisB

        --
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?