[JavaScript] Mehrere Funktion einbauen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von pixelkiller, 28. April 2009 .

  1. 28. April 2009
    Mehrere Funktion einbauen

    Tag

    Meine Probleme sind für die, welche JavaScript beherschen ganz simpel, doch ich raffe es nicht...

    Man sollte einen Namen, Vornamen, Farbe und das Alter eingeben. Es funktioniert einfach nicht, wenn ich mehrere "function" habe.

    1. Wenn kein Name eingetragen wird, sollte eine Fehlermeldung erscheinen.


    2. Problem
    Er zeigt mir das zweite DropDown Menü an, doch wenn ich im zweiten nichts auswähle, kommt auch keine Fehlermeldung "Bitte Alter eintragen", was richtig wäre. Er springt gleich zum nächsten Fenster "auswertung.php".

    Versteht ihr was ich meine?? Beim ersten DropDown Menü funktioniert es und er zeigt die Meldung "Wählen Sie ihre Lieblingsfarbe aus!"



    Code:
    <html>
    <head>
    
    <body background="http://www.help21.eu:8200/ci-manual/background.jpg">
    <script type="text/javascript">
    function FormCheck()
    {
     var myindex=document.Formular.lieblingsfarbe.value;
     
     if (myindex==0)
     {
     alert ("Wählen Sie ihre Lieblingsfarbe aus!");
     document.Formular.lieblingsfarbe.focus();
     return false;
     }
    }
    
    
    function AlterCheck()
    {
     var myindex=document.Formular.alter.value;
     
     if (myindex==0)
     {
     alert ("Wählen Sie ihr Alter aus!");
     document.Formular.alter.focus();
     return false;
     }
    }
    </script>
    
    </head>
    <body>
    <H4>Einfache Umfrage</H4>
    <?php echo "Bitte Vervollständigen: " .$_POST["lieblingsfarbe"] ."<br>"; ?>
    <?php echo "" .$_POST["alter"] ."<br>"; ?>
    
    <form action="auswertung.php" method="post" name="Formular"
    onSubmit="return FormCheck()">
    
    <form action="auswertung.php" method="post" name="Formular"
    onSubmit="return AlterCheck()">
    
    <input type=text name="Text1" value="Name"></input>
    
    <br>
    
    <input type=text name="Text2" value="Nachname"></input>
    
    <br>
    <br>
    
    <select name="lieblingsfarbe">
     <option selected="selected" value="0">Wähle deine Lieblingsfarbe aus!</option>
     <option value="Blau">Blau</option>
     <option value="Rot">Rot</option>
     <option value="Gelb">Gelb</option>
     <option value="Violet">Violet</option>
    </select>
    
    <br>
    <br>
    <select name="alter">
     <option selected="selected" value="0">Wählen Sie ihr Alter!</option>
     <option value="1">1</option>
     <option value="2">2</option>
     <option value="3">3</option>
     <option value="4">4</option>
    </select>
    <br>
    <br>
    <input type="submit" name="Absenden" value="Absenden">
    
    
    </form>
    </body>
    </html>
    



    Dritte Frage:

    Wenn eine E-Mail Adresse angegeben werden muss, habe ich diesen Befehl, wo muss dieser sein?? Das ist auch wieder eine Funktion... doch ich kann nur immer eine nutzen.. warum?:

    Code:
    <script language="JavaScript">
    <!--
    function testEmail() {
    if(document.formular.email.value.match(/^[a-zA-Z0-9_\.-]{2,}@[a-z0-9-]{3,}\.[a-z]{2,4}|museum$/)) {
    alert('E-Mailadresse ist gültig :-)');
    return true;
    }
    else{
    alert('E-Mailadresse ist NICHT gültig :-(');
    document.emailtest.email.focus();
    return false;
    }
    }
    //-->
    </script>
     
  2. 28. April 2009
    AW: Mehrere Funktion einbauen

    HTML:
    <form action="auswertung.php" method="post" name="Formular"
    onSubmit="return FormCheck()">
    
    <form action="auswertung.php" method="post" name="Formular"
    onSubmit="return AlterCheck()">
    falsch..., richtig:
    HTML:
    <form action="auswertung.php" method="post" name="Formular" onSubmit="return FormCheck() && AlterCheck();">
     
  3. 28. April 2009
    AW: Mehrere Funktion einbauen


    Funktioniert noch nicht, ich kann kein Alter auswählen und er geht trotzdem zum nächsten Fenster.
     
  4. 28. April 2009
    AW: Mehrere Funktion einbauen

    ich kann dich nedmal auf selfhtml verweisen, weils da auch falsch is ^^

    also, auf auswahl-listen greifst du so zu:
    Code:
    //die liste:
    var list = document.Formular.alter;
    
    //die selektierte option im array:
    var selected = list.selectedIndex;
    
    //die selektierte option als element:
    var option = list.options[selected];
    
    //da kannst du jetzt den inhalt auslesen:
    alert(option.value); // <- das attribut "value" der markierten option
    und wegen dem problem mit den mehreren funktionen, mach das ganze doch so:
    HTML:
    <form action="soundso" method="post" onsubmit="return checkForm(this);">
     [...]
    </form>
    Code:
    function checkForm(form) {
     if(!form.elements.lieblingsfarbe.value)
     return false;
     
     if(!form.elements.alter.options[form.elements.alter.selectedIndex].value)
     return false;
     
     return true;
    }
     
  5. 28. April 2009
    AW: Mehrere Funktion einbauen

    Danke erstmal, aber ich blicks jetzt überhaupt nicht mehr.. Sorry jetzt hab ich ein durcheinander...

    Muss ich das folgendermassen einfügen:

    Code:
    <html>
    <head>
    
    <body background="http://www.help21.eu:8200/ci-manual/background.jpg">
    <script type="text/javascript">
    -------------------------------------------------------------------------
    function checkForm(form) {
     if(!form.elements.lieblingsfarbe.value)
     return false;
     
     if(!form.elements.alter.options[form.elements.alter.selectedIndex].value)
     return false;
     
     return true;
    }
    -----------------------------------------
    </script>
    
    </head>
    <body>
    <H4>Einfache Umfrage</H4>
    <?php echo "Bitte Vervollständigen: " .$_POST["lieblingsfarbe"] ."<br>"; ?>
    <?php echo "" .$_POST["alter"] ."<br>"; ?>
    
    --------------------------------------
    <form action="soundso" method="post" onsubmit="return checkForm(this);"> [...] </form>
    
    <input type=text name="Text1" value="Name"></input>
    ---------------------------------------
    <br>
    
    <input type=text name="Text2" value="Nachname"></input>
    
    <br>
    <br>
    
    <select name="lieblingsfarbe">
     <option selected="selected" value="0">Wähle deine Lieblingsfarbe aus!</option>
     <option value="Blau">Blau</option>
     <option value="Rot">Rot</option>
     <option value="Gelb">Gelb</option>
     <option value="Violet">Violet</option>
    </select>
    
    <br>
    <br>
    <select name="alter">
     <option selected="selected" value="0">Wählen Sie ihr Alter!</option>
     <option value="1">1</option>
     <option value="2">2</option>
     <option value="3">3</option>
     <option value="4">4</option>
    </select>
    <br>
    <br>
    <input type="submit" name="Absenden" value="Absenden">
    
    
    </form>
    </body>
    </html>
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.