François: Submitbuttons ausfindig machen

Hallo

In einem Formular habe ich mehrere Submitbuttons. Beim Draufklicken wird per onSubmit eine Funktion aufgerufen. Diese müsste nun aber rausfinden, welcher Knopf gedrückt worden ist

Wie geht das?

Beschriebenes in Code:

<script type="text/javascript">
<!--

function pruef()
 {
   //Pseudocode
   wenn Knopf eins dann das
   wenn Knopf zwei dann dies

}

// -->
</script>

<form method='post' action='index.html' onSubmit='pruef()'>

<input type='submit' name='eins' value='eins'>
<input type='submit' name='zwei' value='zwei'>
<input type='submit' name='drei' value='drei'>

</form>

  1. Also ich lass jetzt mal die Frage nach der Sinnhaftigkeit mehrere Submit-Buttons offen...

    Spontan hatte ich daran gedacht die Variable <this> zu übergeben (pruef(this)), aber die würde wohl auf das Formular verweisen.

    Vielleicht baust Du noch ne kleine Funktion die eine globale Varbiable setzt und im OnClick-Ereignis aufgerufen wird - diese Funktion dürfte dann vor der pruef() ausgeführt werden...

    Mal so als spontane Idee

  2. In einem Formular habe ich mehrere Submitbuttons. Beim Draufklicken wird per onSubmit eine Funktion aufgerufen. Diese müsste nun aber rausfinden, welcher Knopf gedrückt worden ist

    Wie geht das?

    Nein. aber musst du das unbedingt schon im Dokument Wissen? Da das CGI Script das  ohne Probleme rausfinden kann.

    <form method='post' action='index.html' onSubmit='pruef()'>

    Ach es ist kein CGI Skript?

    <input type='submit' name='eins' value='eins'>
    <input type='submit' name='zwei' value='zwei'>
    <input type='submit' name='drei' value='drei'>

    Wenn du allen den gleichen Namen gibst enthält der (POST) Parameter den Wert des gedrückten Buttons.

    Wenn dir das nicht hilft, musst du in allen Submit buttons eine Funktion einbauen, die einen entsprechenden Wert setzt.

    In der Art:
    <input type='submit' name='drei' value='drei' onclick="this.form.button=3">

    Den sollte man dan Abfragen können:

    <form method='post' action='index.html' onSubmit='pruef(this)'>

    fucntion pruef(form)
    {
    if(form.button == 3) alert('button 3');

    }

    Struppi.

    1. Danke

      Das hat funktioniert