Hans-Georg Felinks: Formularabfrage und Schleifen

Hallo ich habe ein Problem mit dem folgenden Script:

var aStr="abcdefghjABCDEFGHJ";
var rcode = 1;
var chr;
for(i=0;i<document.forms[0].elements[1].value.length;++i)
        chr=document.forms[0].elements[0].value.charAt(i);
               if (aStr.indexOf(chr)!= -1);
if(rcode == 0)
{  alert("       Falscher Personenbuchstabe !\n      gültig sind:     \n abcdefghj ODER ABCDEFGHJ");      
     document.forms[0].elements[1].select();
     document.forms[0].elements[1].focus();
     return false;    }              
Es soll nur dann eine Meldung ausgeben wenn die in aStr genannten Buchstaben nicht eingegeben worden sind.
Diese Scheifen sind mir ein Greuel wenn man sie nicht von APL2 aus gewöhnt sind.

Dank im voraus

  1. Hallo Hans-Georg

    Es soll nur dann eine Meldung ausgeben wenn die in aStr genannten Buchstaben nicht eingegeben worden sind.

    Hmm, die Schleife selber ist OK, nur der Zusammenhang fehlte mir. Folgendes Gesamtbeispiel funktionierte bei mir:

    <HTML><HEAD><TITLE></TITLE>
    <script language="JavaScript">
    function Checkit()
    {
    var aStr="abcdefghjABCDEFGHJ";
    var rcode = 1;
    var chr;
    for(i=0;i<document.forms[0].elements[1].value.length;++i)
    {
       chr=document.forms[0].elements[0].value.charAt(i);
       if (aStr.indexOf(chr) == -1)
       {
         alert("       Falscher Personenbuchstabe !\n      gültig sind:     \n abcdefghj ODER ABCDEFGHJ");      
          document.forms[0].elements[1].select();
          document.forms[0].elements[1].focus();
          return false;    
       }              
    }
    }
    </script>

    </HEAD>
    <BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#FF0000" VLINK="#CC0000" ALINK="#000000">
    <form>
    <input type=text>
    <input type=button value="checken" onClick="Checkit()">
    </form>
    </BODY></HTML>

    viele Gruesse
      Stefan Muenz