Werte prüfen/ neue Seite
Steffen
- javascript
Hallo an alle,
ich habe folgendes Problem: Der Besucher der Seite soll 4 Angaben zu seiner Person machen (Variablennamen im Code: alter, tun, edu, sex) und je nachdem wie der Wert der Variable alter ist, wird die Person auf eine andere Seite gelenkt. Die Funktion, die ich dazu habe klappt ganz gut (= next_page(), s.u.).
Bevor die Person, aber auf die neue Seite gelenkt wird, soll überprüft werden, ob überhaupt bei allen vier variablen was angegeben worden ist. Auch diese Funktion klappt gut (= chk_form()).
Mein Problem ist nun, wie ich beides zusammenbekomme. Da die Funktion next_page über onclick angesprochen wird (über onsubmit funktioniert das irgendwie nicht) und der input type dafür "button" sein muss, kriege ich die Funktion chk_form aber nicht angesprochen, weil der input type dafür "submit" sein muss. Ja eigentlich glaube ich, dass da mein Hauptproblem liegt. Wisst ihr vielleicht eine Lösung?
Hier das Skript:
<script language = "javascript" type="text/javascript">
<!--
function next_page() {
var age = document.Form.alter.value;
if (age <= 40) {
self.location="Bogen2.html";
}
else {
self.location="Bogen2a.html";
}
}
function chk_form() {
if(document.Form.sex.value == "0")
{
alert("Bitte geben Sie Ihr Geschlecht an!");
document.Form.alter.focus();
return false;
}
if(document.Form.alter.value == "")
{
alert("Bitte Ihr Alter eingeben!");
document.Form.alter.focus();
return false;
}
if(document.Form.edu.value == "0")
{
alert("Bitte geben Sie Ihren höchsten Schulabschluss an!");
document.Form.ed.focus();
return false;
}
if(document.Form.tun.value == "0")
{
alert("Bitte geben Sie Ihre derzeitige berufliche Tätigkeit an!");
document.Form.tun.focus();
return false;
}
}
//-->
</script>
</head>
<body bgcolor="#FFFFB5">
<form name="Form" method="get" onsubmit="return chk_form()">
<input type="hidden" name="seite0" value="" size="20">
...
<center>
<input type="submit" value="Weiter!">
bzw.
<input type="button" value="Weiter!" onclick="next_page()">
</form>
</body>
Danke, Steffen
Hi,
(Variablennamen im Code: alter, tun, edu, sex)
Interessante Deutsch-Englisch-Mischung ... frag mich nur, was man dann bei sex angeben soll - ist das diese "Ja, Bitte/Nein, Danke"-Geschichte, oder doch nur das mit dem Maennlein/Weiblein/Unentschlossen?
Da die Funktion next_page über onclick angesprochen wird (über onsubmit funktioniert das irgendwie nicht)
Das' ja irgendwie bloed, wenn das irgendwie nicht funktioniert - magst du darueber reden ...?
und der input type dafür "button" sein muss, kriege ich die Funktion chk_form aber nicht angesprochen, weil der input type dafür "submit" sein muss. Ja eigentlich glaube ich, dass da mein Hauptproblem liegt. Wisst ihr vielleicht eine Lösung?
Weisst du vielleicht eine Problembeschreibung, die nicht ganz so nach Mentalhospital klingt?
Hier das Skript:
Warum haust du nicht einfach beide Funktionen zusammen?
Zuerst mal ueberpruefen, ob ueberall was drin steckt - aeh, steht (mit der "sex"-Geschichte hast du mich jetzt verwirrt); und dann anschliessend, wenn das der Fall war, altersabhaengig auf die Paediatrie- oder Geriatrie-Seite weiterleiten.
MfG ChrisB
Hallo Steffen,
Mein Problem ist nun, wie ich beides zusammenbekomme.
onclick sollte "chk_form()" ausführen und wenn alles okay ist schickste den User auf die gewünschte Seite. Wenn nicht, zeigste ihm die Fehler an.
That's it? :)
MfG
Jurik
Hallo Steffen,
Mein Problem ist nun, wie ich beides zusammenbekomme.
onclick sollte "chk_form()" ausführen und wenn alles okay ist schickste den User auf die gewünschte Seite. Wenn nicht, zeigste ihm die Fehler an.
That's it? :)
MfG
Jurik
Hallo Jurik,
erstmal vielen Dank. Folgendes Problem:
Wenn ich
<input type="button" value="Weiter!" onclick="return chk_form();next_page();">
habe, dann funktioniert chk_form(), aber wenn alle Eingaben gemacht worden ist bzw. dann alles Ok ist, leitet er nicht weiter.
Wenn ich
<input type="button" value="Weiter!" onclick="chk_form();next_page();">, habe, dann zwigt er zwar den Hinweis auf fehlende Angaben, aber leitet gleich weiter. Oder hast du es anders gemeint?
Grüße, Steffen
Hi,
bitte zitiere sinnvoll, und nicht einfach alles.
Wenn ich
<input type="button" value="Weiter!" onclick="return chk_form();next_page();">
habe, dann funktioniert chk_form(), aber wenn alle Eingaben gemacht worden ist bzw. dann alles Ok ist, leitet er nicht weiter.
Natuerlich nicht, weil du ja vorher schon mittels return zurueckspringst.
Wenn ich
<input type="button" value="Weiter!" onclick="chk_form();next_page();">, habe, dann zwigt er zwar den Hinweis auf fehlende Angaben, aber leitet gleich weiter.
Natuerlich, weil da das ggf. das Abschicken verhindernde return ja ganz fehlt.
Oder hast du es anders gemeint?
Vermutlich.
MfG ChrisB
<input type="button" value="Weiter!" onclick="chk_form()">
In chk_form() hast du dann z.B. eine Variable die du auf true setzt. Bei jedem überprüften Feld was höchstwahrscheinlich eine IF-Abfrage ist, setzt du diese Variable auf false, falls das Feld einen Wert hat den du nicht willst.
Ganz am Ende der Funktion checkst du dann einfach diese Variable. Wenn sie true ist rufst du next_page() auf, falls nicht, makierst du die Felder mit den falschen Werten.
So in etwa meinte ich das :)
Hallo,
Ein ganz normaler Submit-button und dann
onsubmit="return checkAndRedirect()"
function checkAndRedirect () {
if (chk_form()) {
next_page();
} else {
return false;
}
}
function chk_form () {
if ( ... Fehler .. ) {
return false;
}
return true;
}
Mathias