[JavaScript] Formular-Validation mit JavaScript

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [JavaScript] Formular-Validation mit JavaScript

    Hi,

    ich bin dabei ein Formular mit Hilfe von folgendem Code zu validieren:
    PHP-Code:
    function validateForm(form)
    {
     if(
    form.Name.value == "")  {
       
    alert("Please enter your Name!");
       return 
    false;
      }
      
     if(
    form.Vorname.value == "")
     {
       
    alert("Please enter your Vorname!");
       return 
    false;
      }
      
     if(
    form.Anschrift.value == "")
     {
       
    alert("Please enter your Anschrift!");
       return 
    false;
      }
       
     return 
    true;

    Das funktioniert auch.

    Ich möchte aber, dass wenn ich z.B. zwei Formularfelder leer lasse, dies in einem einzigen Alert-Fenster angezeigt wird.
    Z.B.:

    Please enter your Name!
    Please enter your Vorname!

    Ich glaube, ich muss die Varibalen in einem Array zusamenfassen, weiss aber nicht wie das gehen soll.

  • #2
    das ist einfach:

    am anfang statt nur if(form.Name.value=="")

    folgendes:
    if(form.Name.value==""&&form.Vorname.value=="")

    und soweiter, dann geht es auch ohne array

    mit array:

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function validateForm()
    {
    var count=0;
    var msg="";

    for(i=0;i<=4;i++)
    {
    if(document.UD.elements[i].value=="")
    {
    count=1;
    msg=msg+"\n"+document.UD.elements[i].name;
    }
    else if((i>3) && (count==0))
    {
    return(true);
    }
    }
    for(i=0;i<=4;i++)
    {
    if(document.UD.elements[i].value=="")
    {
    alert("PLEASE FILL IN THE FOLLOWING FIELD(S)\n "+msg);
    document.UD.elements[i].focus();
    return(false);
    }

    }


    }
    //-->
    </SCRIPT>

    Kommentar


    • #3
      nicht unbedingt..
      nimm die returns raus - es muss nur ein mal am ende der funktion false zurückgeliefert werden. lege zu beginn der funktion eine variable mit leerem string als inhalt an.
      statt jedes mal direkt ein alert zu generieren, hänge die fehlermeldung an die variable dran.
      bevor die funktion verlassen wird, gibt die variable mit einem alert aus.

      Kommentar


      • #4
        Etwa so?:

        PHP-Code:
        function validateForm(form)
        {
        var 
        error "";

         if(
        form.Name.value == ""
         {
            
        error += "Bitte geben Sie Ihren Namen ein!";
         }
          
         if(
        form.Vorname.value == "")
         {
           
        error += "Please enter your Vorname!";
          }
          
         if(
        form.Anschrift.value == "")
         {
           
        error += "Please enter your Anschrift!";
          }
            
         return 
        false;

        Kommentar


        • #5
          Original geschrieben von penizillin
          bevor die funktion verlassen wird, gibt die variable mit einem alert aus.
          und was heißt hier bitte "enter your anschrift"?

          Kommentar


          • #6
            Ooops, die letzte Zeile habe ich aus lauter freude über eure schnelle Antworten ganz übersehen.

            Danke für die super Hilfe. Jetzt klappt es wunderbar.

            Kommentar

            Lädt...
            X