Formularnamen in xhtml strict nicht erlaubt
Anton
- javascript
Guten Tag,
folgendes Problem:
Es gibt eine Javascript Funktion die testet, ob eine EIngabe in einem Formular eine Zahl ist:
function ZahlChecker() {
var i;
var ok = true;
for (i=0; i<document[2]['anzahlNeu[]'].length; i++) {
if (document[2]['anzahlNeu[]'][i].value.charAt(0) < "0" ||
document[2]['anzahlNeu[]'][i].value.charAt(0) > "9" ||
document[2]['anzahlNeu[]'][i].value.charAt(1) < "0" ||
document[2]['anzahlNeu[]'][i].value.charAt(1) > "9") {
ok = false;
}
}
if (ok == false) {
alert("Bitte nur Zahlen eingeben !");
}
return ok;
}
Diese wird so aufgerufen:
<form action="shoppingcard.php" method="post" onsubmit="return ZahlChecker()">
Da ich nun aber xhtml strict benutze, darf man ja den Formularen ja keine Namen mehr geben. Wie soll soll ich aber nun das Formular ansprechen ?
Bekomme ständig die Fehlermeldung:
dockument[2].anzahlNeu ist Null oder kein Objekt.
Hier kann man es testen:
http://217.160.40.241/pages/catalog.php?product_id=1
Hi,
for (i=0; i<document[2]['anzahlNeu[]'].length; i++) {
hälst Du "document[2]" wirklich für eine sinnvolle Schreibweise? Rein technisch betrachtet handelt es sich dabei um das dritte document-Objekt.
<form action="shoppingcard.php" method="post" onsubmit="return ZahlChecker()">
Da ich nun aber xhtml strict benutze, darf man ja den Formularen ja keine Namen mehr geben. Wie soll soll ich aber nun das Formular ansprechen ?
Durch Übergabe von "this".
Cheatah
Wie genau muss das mit "this" aussehen ?
Danke.
Hallo,
Wie soll soll ich aber nun das Formular ansprechen ?
über die entsprechende ID. Benutze also id= anstelle von name=
Gruß,
_Dirk
Hallo!
Wie soll soll ich aber nun das Formular ansprechen ?
über die entsprechende ID. Benutze also id= anstelle von name=
IMHO steigt NS4.x mit ID aus.
Für Rückwärtskompatibilität bleibt nur die doppelte Angabe id="foo" name="foo" unter XHTML 1.0 Transitional (da ist das name-Attribut für den form-tag noch erlaubt) oder die Methode von Cheatah und Struppi.
mfg Alfie
Es gibt eine Javascript Funktion die testet, ob eine EIngabe in einem Formular eine Zahl ist:
das geht einfacher, indem du die Eingabe in eine Zahl umwandelst und dann mit der ursprünglichen Eingabe vergleichst. Da du keine kommazahlen zuläßt, ganz einfach:
var input = [...];
var test = parseInt(input);
if(input != test) { falsche Eingabe };
Diese wird so aufgerufen:
<form action="shoppingcard.php" method="post" onsubmit="return ZahlChecker()">Da ich nun aber xhtml strict benutze, darf man ja den Formularen ja keine Namen mehr geben. Wie soll soll ich aber nun das Formular ansprechen ?
Mit this
<form action="shoppingcard.php" method="post" onsubmit="return ZahlChecker(this);">
function ZahlChecker(form)
{
und hier kannst du aif die Elemente zugreifen.
}
Struppi.