Formularfeldname von Submit-Buttons auslesen

Kahmoon

Erfahrenes Mitglied
Servus beisammen,

ich habe ein Formular bei dem als action eine onsubmit Funktion ausgeführt wird, sobald ein User das Formular abschickt. Es gibt in diesem Formular aber mehrere Submitbuttons. Wie kann ich prüfen welcher von ihnen gedrückt wurde? Kann ich hier nicht einfach das Attribut "name" von <input type="submit" name="knopf" value="" /> auslesen?

Gruß
Franky
 
Zuletzt bearbeitet:
Ich mag mich jetzt vielleicht irren, aber wird bei einem Submit nicht nur das Key / Value des Buttons übertragen, der betätigt wurde?
 
Wäre auch OK das abzufragen. Der Value ist hier auch jedes mal anders. Aber die Abfrage muss halt dynamisch sein da es ja mehrere Submits gibt. Sprich onsubmit müsste abfragen welcher Value hier vom Submit gekommen ist.

Also etwas in der Art:
Code:
<input type="submit" name="Submit" value="Bestellung Senden" />
<input type="submit" name="Submit" value="Bestellung liefern" />
Code:
document.forms[0].Submit.value
 
Zuletzt bearbeitet:
Darf ich dich mal fragen, wieso du es so herum machst? ich würde aus den Submit Buttons ganz einfache Buttons machen und dann das Formular per JS submitten. Das hat den Vorteil, dass du dann deine eigene "Submit Funktion" schreiben kannst, in der die Vorvereibeitung stattfindet. Du definierst die Funktion mit einem Parameter.

Code:
function mySubmit(pressedButton){
...
}

Und bei den Buttons hast du dann so etwas in der Art:

Code:
<input type="button" onclick="mySubmit(1)" >
 
Zuletzt bearbeitet:
Da stimme ich port29 zu.

HTML:
<html>
<head>

<script type="text/javascript">
function test(wert) {
var wert = wert;

    alert(document.getElementsByName("button")[wert].value);

}
</script>

</head>
<body>
<form name="formular" action="test.html" method="post" enctype="text/html">
<input type="button" name="button" value="Button 1" onClick="test(0)" />
<br />
<input type="button" name="button" value="Button 2" onClick="test(1)" />
<br />
<input type="button" name="button" value="Button 3" onClick="test(2)" />
<br />
<input type="button" name="button" value="Button 4" onClick="test(3)" />
<br />
</form>
</body>
</html>
 
Ja OK.....das Pferd falsch rum aufgesattelt ;). Das Formular war halt schon so gegeben.

Danke ich versuche das.
 
Zuletzt bearbeitet:
Hi,

noch eine weitere Möglichkeit, die in die gleiche Richtung wie die von port29 und tombe geht. Die JS-Funktionalität wird jedoch erst im onload-Event hinzugefügt. Die Trennung von Funktion und Inhalt ist somit mehr gewährleistet.
Code:
<html>
<head>
<title>www.tutorials.de</title>
<meta name="author" content="Quaese">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
window.onload = function(){
  var arrSubmit = document.formTest.getElementsByTagName("input");
  for(var i=0; i<arrSubmit.length; i++){
    if(arrSubmit[i].type.toLowerCase() == "submit"){
      arrSubmit[i].onclick = function(evt){
        alert("Es wurde die Schaltfläche '"+this.name+"' mit dem Wert '" +this.value + "' gedrückt.");
      }
    }
  }
}
</script>

</head>
<body>
<form name="formTest" action="next.php" method="post">
  <input type="submit" name="btnSenden" value="Button 1"><br>
  <input type="submit" name="btnSenden" value="Button 2"><br>
  <input type="submit" name="btnSenden" value="Button 3"><br>
  <input type="submit" name="btnSenden" value="Button 4">
</form>
</body>
</html>

Ciao
Quaese
 

Neue Beiträge

Zurück