Dynamisch erzeugtes Formular mit Javascript prüfen
Claus Peter
- javascript
0 Struppi0 Claus Peter
Hallo,
bei meinem Projekt habe ich leider noch keine Lösung für folgendes Problem gefunden:
Zustandsbeschreibung:
Vor dem Abschicken einer Seite möchte ich mit JavaScript eventuelle Eingabefehler abfangen. (....onSubmit="return ChkFormular()")
Die Eingabefelder einer Seite werden mit unterschiedlichen Funktionen geprüft.
Die Formularfelder werden dynamisch per CGI erzeugt.
Mein Problem:
Beim Schreiben des Javascripts weiß ich noch nicht, welche Formularfelder zu prüfen sind. Die Felder haben meist auch unterschiedliche Namen bzw. IDs, oft auch mit einem Index versehen.
Wie kann ich nun ein JavaScript schreiben, welches alle in dem aktuellen FORM vorhandenen Felder prüft, und dabei eine für das Feld spezifische Prüfung vornimmt?
Gibt es die Möglichkeit, z.B. in einem INPUT-Tag einen "Funktionspointer" zu übergeben, der auf die JavaScript Prüfroutine verweist?
Die Lösung:
Ja, da seid Ihr gefragt. Mit meinem Latein bin ich am Ende. Für brauchbare Lösungsansätze danke ich schon mal im voraus.
mfg
Claus Peter
Hallo,
bei meinem Projekt habe ich leider noch keine Lösung für folgendes Problem gefunden:
Zustandsbeschreibung:
Vor dem Abschicken einer Seite möchte ich mit JavaScript eventuelle Eingabefehler abfangen. (....onSubmit="return ChkFormular()")
Die Eingabefelder einer Seite werden mit unterschiedlichen Funktionen geprüft.
Die Formularfelder werden dynamisch per CGI erzeugt.Mein Problem:
Beim Schreiben des Javascripts weiß ich noch nicht, welche Formularfelder zu prüfen sind. Die Felder haben meist auch unterschiedliche Namen bzw. IDs, oft auch mit einem Index versehen.
mit window.document.forms[....].elements[...] kannst du alle Formularelemente erfassen (http://selfhtml.teamone.de/javascript/objekte/elements.htm). mit der Eigenschaft type kannst du rausfinden was für eine Art von Element es ist. Der Rest liegt an dir und deinem Problem.
Struppi.
....
mit window.document.forms[....].elements[...] kannst du alle Formularelemente erfassen (http://selfhtml.teamone.de/javascript/objekte/elements.htm). mit der Eigenschaft type kannst du rausfinden was für eine Art von Element es ist. Der Rest liegt an dir und deinem Problem.
Struppi.
Hallo Struppi,
wenn Du mir jetzt noch sagen kannst, wie ich die Elemente gleichen Typs unterscheiden und unterschiedliche Prüfscripte aufrufen kann, ist es perfekt.
mfg
Claus Peter
hi,
wenn Du mir jetzt noch sagen kannst, wie ich die Elemente gleichen Typs unterscheiden und unterschiedliche Prüfscripte aufrufen kann, ist es perfekt.
die information findest du doch bereits auf der verlinkten seite.
augen auf!
gruss,
wahsaga
Hi,
die information findest du doch bereits auf der verlinkten seite.
augen auf!
Sach datt doch gleich! Also, ich habs grad mal so durchgestept und ich denke, so funzt es:
function chkFormular()
{
var i, rp;
for(i=0; rp=document.forms[0].elements[i]; i++)
{
if(null != rp.onchange) {
// hier ggf. typ und namen pruefen
if(!rp.onchange()) return false;
}
}
return true;
}
Danke an Euch beide für die Hilfe.
mfg
Claus Peter
....
mit window.document.forms[....].elements[...] kannst du alle Formularelemente erfassen (http://selfhtml.teamone.de/javascript/objekte/elements.htm). mit der Eigenschaft type kannst du rausfinden was für eine Art von Element es ist. Der Rest liegt an dir und deinem Problem.
wenn Du mir jetzt noch sagen kannst, wie ich die Elemente gleichen Typs unterscheiden und unterschiedliche Prüfscripte aufrufen kann, ist es perfekt.
Wie schon gesagt Augen auf ;-)
und ein bisschen probieren, wie gesagt es kommt auf deine konkreten vorstellungen an, was zu tun ist.
aber ein Tipp, geh mal alle elemente durch (sie haben eine eigenschaft length) und lass dir den 'type' ausgeben.
Struppi.