GrandmasterA: Formular mit Select - je nach Auswahl eine andere JS-Funktion

Hallo zusammen,

ich suche eine Möglichkeit, ein Formular zu erstellen, das ein Select-Feld und einen Submit-Button enthält.

Man soll dann verschiedene Auswahlmöglichkeiten haben und beim drücken des Submit-Buttons soll je nach Auswahl eine andere Funktion aufgerufen werden und zwar ohne die Seite neu zu laden!

Hier mein bisheriges Script:

<script language="JavaScript">
<!--
function funktion1() {
    location.href = '....';
    return false;
}

function funktion2() {
    window.print();
    return false;
}

//-->
</script>

<form name="jumper" onSubmit="return document.jumper.function.value">
<select name="function">
<option value="funktion1()">Funktion 1 ausführen</option>
<option value="funktion2()">Funktion 2 ausführen</option>
</select>
<input type="submit" name="submit" value="Go!">
</form>

Mir ist klar, dass das onSubmit="return document.jumper.function.value"> nicht korrekt ist... aber welche Möglichkeit gäbe es?

Vielen Dank für jede Art der Hilfe,
Andreas

  1. hi,

    Mir ist klar, dass das onSubmit="return document.jumper.function.value"> nicht korrekt ist... aber welche Möglichkeit gäbe es?

    rufe an dieser stelle eine funktion auf - die dann je nach übergebenem wert (tipp: switch()) ihrerseits eine andere funktion aufruft.

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
    1. rufe an dieser stelle eine funktion auf - die dann je nach übergebenem wert (tipp: switch()) ihrerseits eine andere funktion aufruft.

      Hab damit gerade mal getestet. Scheint zu funktionieren... ich poste gleich nochmal das komplette script, wenn´s klappt ;)
      Danke schonmal!

      1. OK, vielen vielen Dank!
        Mithilfe von http://de.selfhtml.org/javascript/sprache/bedingt.htm#switch habe ich folgendes Script erstellt:

        <script type="text/javascript">
        <!--
        function redirect() {

        var link = document.jumper.adresse.value;
        switch(link) {
         case "tipafriend":
              OpenWindow('empfehlung.php?seitenurl=/home.php&seitentitel=Herzlich%20Willkommen%20auf%20www.ZIDZ.com', 'Edit');
              return false;
         break;
         case "print":
            window.print();
            return false;
         break;
         case "bookmark":
            window.external.AddFavorite('http://www.ZidZ.com/home.php','Herzlich%20Willkommen%20auf%20www.ZIDZ.com');
            return false;
         break;
         case "back":
            history.back(1);
            return false;
         break;
        }

        }
        // -->
        </script>

        <form name="jumper" onSubmit="return redirect()">
        <select name="adresse">
        <option value="tipafriend">Diese Seite empfehlen</option>
        <option value="print">Diese Seite drucken</option>
        <option value="bookmark">Diese Seite bookmarken</option>
        <option value="back">Eine Seite zurück</option>
        </select>
        <input type="submit" name="submit" value="Go!">
        </form>

        Und alles funzt, wie es sollte!

        Danke nochmal!

        Andreas

  2. ich suche eine Möglichkeit, ein Formular zu erstellen, das ein Select-Feld und einen Submit-Button enthält.

    Man soll dann verschiedene Auswahlmöglichkeiten haben und beim drücken des Submit-Buttons soll je nach Auswahl eine andere Funktion aufgerufen werden und zwar ohne die Seite neu zu laden!

    Hier mein bisheriges Script:

    [...]

    Wenn du nichts abschicken willst brauchst du weder Formular noch submit. Nimm einfach nur die benötigten Elemente:

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

    var sel = '';

    function funktion(sel) {
      switch (sel) {
        case "1":
          alert(1);
          break;
        case "2":
          alert(2);
          break;
        default:
          alert('nix gewählt');

    }
    }

    //-->
    </script>

    <select id="select" onchange="sel=value" size="2">
      <option value="1">Function 1 ausführen</option>
      <option value="2">Function 2 ausführen</option>
    </select>
    <input type="button" onclick="funktion(sel)" value="Go!">

    Beachte: Ich hab einen input type=button statt type=submit verwendet.

  3. Thema hat sich erledigt... Lösung wurde gefunden:
    https://forum.selfhtml.org/?t=99892&m=611027

    Gruß,
    Andreas