HILFE - Wer kann mir bei der Formularprüfung helfen????
Andreas
- javascript
0 benji0 Andreas0 benji0 Tobias Kloth
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>
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 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>
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
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
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
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