göre: 1x select 2x submit?

Hi,

kann man irgendwie einer select-Auswahl (oder textfeld oder checkbox...) 2 unterschiedliche Ziele zuweisen?

Normalerweise gehts ja klassisch mit form und action und submit. Kann man also eine select-box anlegen und 2 submit-buttons und das zweite Versenden irgendwie z.B. über JavaScript lösen? Abfrage, was in Formular 1 gewählt und das senden an Formular 2?

Hat das schon mal jemand gemacht?

danke und gruß, göre

  1. Hi göre,

    ich weiss nicht ob ich's richtig verstanden hab, aber ich schick dir
    mal ein kleines Beipiel...

    <script language="JavaScript">
     <!--
    function abschicken()
    {
       var val = parseInt(window.document.forms['form1'].elements['test'].value)
       switch(val)
       {
          case 1:
             location.href = "Seite1.html";
             break;
          case 2:
             location.href = "Seite2.html";
             break;
       }

    }
    // -->
    </script>

    <body>
    <form name="form1">
       <input name="text" type="text" value="Nurn Test">
       <br>
       <select name="test" onChange="abschicken()">
          <option value="0" selected>Auswahl
          <option value="1">Submit 1
          <option value="2">Submit 2
       </select>
    </form>

    Dieses Beispiel lädt ja nach dem was man im <select> auswählt ne
    andere Seite.....Ich hoff ich habs einigermassen getroffen.

    Noch viel Spass
    Axel :)

    1. danke axel, danke sven... das rettet mein layout...
      göre

  2. Moin!

    kann man irgendwie einer select-Auswahl (oder textfeld oder checkbox...) 2 unterschiedliche Ziele zuweisen?

    Normalerweise gehts ja klassisch mit form und action und submit. Kann man also eine select-box anlegen und 2 submit-buttons und das zweite Versenden irgendwie z.B. über JavaScript lösen? Abfrage, was in Formular 1 gewählt und das senden an Formular 2?

    Hat das schon mal jemand gemacht?

    Du baust zwei Submit-Buttons. Denen gibst du das Ereignis "onclick", in welchem du die Action des Formular passend änderst. Klickst du Button 1, wird das Formular zu Adresse 1 geschickt, klickst du Button 2, wird es zu Adresse 2 geschickt.

    Du kannst das ganze natürlich auch komplexer machen: Nur einen Submit-Button, und wahlweise Radio-Buttons oder eine Select-Liste zum Auswählen des Ziels. Wichtig ist: Du änderst per Javascript die "action" des Formulars.

    Dabei ist zu beachten: Es muß in der Action innerhalb von <form> immer irgendwas drinstehen, was Standardziel ist. Und außerdem mußt du davon ausgehen, daß diverse Besucher kein Javascript haben, die das Formular also immer zum Standardziel senden werden. Man kann den verschiedenen Submit-Buttons aber Namen und Value geben, und der gedrückte Submit-Button wird als Name/Value-Kombination in der Liste der gesendeten Daten auftauchen. So kannst du Javascriptlose Browser abfangen und gleichbehandeln.

    Als Übersicht: http://selfhtml.teamone.de/javascript/objekte/forms.htm, dort speziell die Eigenschaft "action".

    - Sven Rautenberg

  3. Sorry, Sven hat recht...
    hatte nicht dran gedacht, das es ja um ein Formular geht...
    der switch-befehl muss korrekt lauten:

    switch(val)
       {
          case 1:
             document.forms['form1'].action = "Seite1.html";
             document.forms['form1'].submit();
             break;
          case 2:
             document.forms['form1'].action = "Seite2.html";
             document.forms['form1'].submit();
             break;
       }

    Gruss
    Axel