Andreas: HILFE - Wer kann mir bei der Formularprüfung helfen????

Hallo,
ich versuche ein Formular zu prüfen, dass mehrere Felder mit der gleichen Bezeichnung hat.

Leider funktioniert der Check nur, wenn ich ein einziges Feld in der Tabelle habe. Ich brauche aber eine Lösung, die alle Felder prüft (...und das die Felder den gleichen Namen haben ist die Bedingung)

Danke im voraus an alle, die sich ein paar Gedanken machen und mir antworten.

Gruss
Andreas

CODE:

<html>

<head>
<script type="text/javascript" >

function eingabecheck()
{
for (var i = 0; i < document.forms["formeins"].elements.length; i++) {
if(document.forms["formeins"].elements["abc"].value == "")
{
alert("Bitte Wert in das Feld eingeben");
return true;
}
}
}

</SCRIPT>

<body>

<form name="formeins">
<table>
<tr><td>
<input type=text name=abc>
</td></tr>
<tr><td>
<input type=text name=abc>
</td></tr>
<tr><td>
<input type=text name=abc>
</td></tr>
<tr><td>
</table>

<input type=button value="TEST"
onClick="eingabecheck()">

</form>

</body>
</html>

  1. Hallo Andreas !

    Also, wie wär's denn damit ?:

    function eingabecheck()
    {
    for (var i = 0; i < document.forms["formeins"].elements.length; i++) {

    x = 0;
       while(x < document.getElementsByName["abc"][x])
       {
           if(document.getElementsByName["abc"][x].value == "")
           {
              alert("Bitte Wert in das Feld eingeben");
              return false;
              break; // UND das ist wichtig (oder auch nicht)
           }
       }
       return true; // kommt nur, wenn noch nicht vorher abgebrochen wurde
       }

    if(document.forms["formeins"].elements["abc"].value == "")
    {
    alert("Bitte Wert in das Feld eingeben");
    return true;
    }
    }
    }

    und ?

    benji

    --
    © by benji
    ® by benji
      all rights reserved
    1. Hallo Andreas !

      Also, wie wär's denn damit ?:

      function eingabecheck()
      {
      for (var i = 0; i < document.forms["formeins"].elements.length; i++) {
         x = 0;
         while(x < document.getElementsByName["abc"][x])
         {
             if(document.getElementsByName["abc"][x].value == "")
             {
                alert("Bitte Wert in das Feld eingeben");
                return false;
                break; // UND das ist wichtig (oder auch nicht)
             }
         }
         return true; // kommt nur, wenn noch nicht vorher abgebrochen wurde
         }
      if(document.forms["formeins"].elements["abc"].value == "")
      {
      alert("Bitte Wert in das Feld eingeben");
      return true;
      }
      }
      }

      und ?

      benji

      Hallo Benji

      in Zeile 52 wird ein Objekt erwartet:
      <html>

      <head>
      <script type="text/javascript" >

      function eingabecheck()
      {
      for (var i = 0; i < document.forms["formeins"].elements.length; i++) {
      x = 0;
         while(x < document.getElementsByName["abc"][x])
         {
             if(document.getElementsByName["abc"][x].value == "")
             {
                alert("Bitte Wert in das Feld eingeben");
                return false;
                break; // UND das ist wichtig (oder auch nicht)
             }
         }
         return true; // kommt nur, wenn noch nicht vorher abgebrochen wurde
         }
      if(document.forms["formeins"].elements["abc"].value == "")
      {
      alert("Bitte Wert in das Feld eingeben");
      return true;
      }
      }
      }

      </SCRIPT>

      <body>

      <form name="formeins">
      <table>
      <tr><td>
      <input type=text name=abc>
      </td></tr>
      <tr><td>
      <input type=text name=abc>
      </td></tr>
      <tr><td>
      <input type=text name=abc>
      </td></tr>
      <tr><td>
      </table>

      <input type=button value="TEST" onClick="eingabecheck()">

      </form>

      </body>
      </html>

      1. in Zeile 52 wird ein Objekt erwartet:

        erwartest du von mir, dass ich sie jezt ausrechne, dann berichte, selbst teste und dir den fertigen Code poste ?

        Ich habe dir eine Anregung gegeben. Den Rest kannst du bitte selbst erledigen - oder du postest dein Problem genauer.

        benji

        --
        © by benji
        ® by benji
          all rights reserved
        1. SORRY-Falls ich nerve und SORRY das ich nicht vorsichtig genug beim posten des Codes war. Also noch ein weiterer Anlauf.

          Mit diesem Code
          ******************************************************************
          <html>
          <head>
          <script type="text/javascript" >
          function eingabecheck() {
          x = 0;
             while(x < document.getElementsByName["abc"][x])
             {
                 if(document.getElementsByName["abc"][x].value == "")
                 {
                    alert("Bitte Wert in das Feld eingeben");
                    return false;
                    break; // UND das ist wichtig (oder auch nicht)
                 }
             }
             return true; // kommt nur, wenn noch nicht vorher abgebrochen wurde
             }
          </SCRIPT>
          </head>
          <body>
          <form name="formeins">
          <table>
          <tr><td>
          <input type=text name=abc>
          </td></tr>
          <tr><td>
          <input type=text name=abc>
          </td></tr>
          <tr><td>
          <input type=text name=abc>
          </td></tr>
          <tr><td>
          </table>
          <input type=button value="TEST" onClick="eingabecheck()">
          </form>
          </body>
          </html>
          **************************************************************

          bekomme ich den Fehler, dass document.getElementsByName.abc Null oder kein Objekt ist.

          Wie immer Danke im voraus und SORRY
          Andreas

          1. Hallo Andreas,

            while(x < document.getElementsByName["abc"][x])

            getElementsByName ist eine Funktion, die ein Array liefert. Also sollte die Schleife so aussehen:

            for (var i=0; i<document.getElementsByName("abc").length; i++) {
            ...
            }

            Grüße
            Andreas

            --
            As Einstein once said during a Thanksgiving food fight, "It's all relatives."
      2. Hallo Andreas,

        Hallo Andreas !
        [...]
        benji

        bitte zitier nur das, auf das du dich beziehst

        in Zeile 52 wird ein Objekt erwartet:

        und was ist Zeile 52? Wenn ich den Code so wie du ihn gepostet hast, in meinen Editor kopiere ist Zeile 52 nämlich leer ...

        Grüße aus Nürnberg
        Tobias

        --
        Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|