Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Alle Fehler in einem Fenster ausgeben.
Frage
Hallo,
ich hab folgendes Problemchen:
Habe ein Fragebogen und wenn die Felder nciht ausgefüllt sind, soll der User mit einem javascript - alert drauf hingewiesen werde. Das klappt ja auch, aber für jedes Feld springt EIN einzelnes alert -Fenster auf .
Ich möchte allerdings, daß alle Fehler auf einmal in EINEM Alert-fenster ausgegeben werden.
BSP: Wenn der User auf den Absendebutton geht, ohne etwas im Formular auszufüllen, sollte ihm folgendes Alertfenster aufpoppen:
- Es fehlt die Telefonnummer.
- Es fehlt der Name.
hier die die korrektur.js
[code]<!--
function test()
{
if(document.formular.name.value == "")
{
alert ("Es fehlt der Name!");
return false;
}
if(document.formular.telefon.value) == "")
{
alert ("Es fehlt die Telefonnummer!");
return false;
}
else
return true;
}
//[/code]
Hat jemand eine Idee, wie man das macht?
Ich habs schon mit einem allumschliessenden alert probiert, klappte aber nciht.
Freu ich auf Eure Ideen und Hilfe
Mel
Antwort 1 von Toadie
Gestalte die Abfragen so, dass eine Variable mit den Texten gefüllt wird wenn sie zutreffen. Am Ende gibst du dann die Variable aus.
Antwort 2 von rfb
function test()
{
var antwort="";
if(document.formular.name.value == "")
{
antwort+="Es fehlt der Name!\n";
}
if(document.formular.telefon.value) == "")
{
antwort+="Es fehlt die Telefonnummer!\n");
}
if (antwort=="") return true;
else {
alert(antwort);
return false;
}
}Antwort 3 von Mel
aha,
geniale Lösungen . Super.
Vielen Dank , ich werds gleich ausprobieren.
Viele Grüsse
Mel
geniale Lösungen . Super.
Vielen Dank , ich werds gleich ausprobieren.
Viele Grüsse
Mel
Antwort 4 von Mel
Klappt super. Vielen Dank.
Wie kann ich denn nun noch sagen, daß der Cursor nach einer Fehlermeldung zu dem Feld springt, daß noch fehlt?
Ich habs schon probiert, aber dass stimmt ganz und gar nicht...
Habt ihr noch einen Tipp?
Vielen Dank
Mel
Wie kann ich denn nun noch sagen, daß der Cursor nach einer Fehlermeldung zu dem Feld springt, daß noch fehlt?
Ich habs schon probiert, aber dass stimmt ganz und gar nicht...
Habt ihr noch einen Tipp?
function test()
{
var antwort="";
if(document.formular.name.value == "")
{
antwort+="Es fehlt der Name!\n";
}
if(document.formular.telefon.value) == "")
{
antwort+="Es fehlt die Telefonnummer!\n");
}
if (antwort=="") return true;
else {
alert(antwort);
if (document.formular.name.value=="")
document.formular.name.focus();
if (document.formular.telefon.value=="")
document.formular. telefon.focus();
return false;
}
} Vielen Dank
Mel
Antwort 5 von rfb
function test()
{
var antwort="";
if(document.formular.name.value == "")
{
antwort+="Es fehlt der Name!\n";
document.formular.name.focus();
}
if(document.formular.telefon.value) == "")
{
antwort+="Es fehlt die Telefonnummer!\n");
document.formular.telefon.focus();
}
if (antwort=="") return true;
else {
alert(antwort);
return false;
}
}ich weiß nicht weshalb du das nochmals in eine Abfrage gepackt hast und die dann mitten in die Antwort-Ausgabe gesteckt hast.
Zitat:
Ich habs schon probiert, aber dass stimmt ganz und gar nicht.
Wenn du schon angibst, dass irgendetwas nicht klappt, wären ausführliche Fehlerbeschreibungen sinnvoll.Ich habs schon probiert, aber dass stimmt ganz und gar nicht.
Antwort 6 von rfb
vielleicht mal generell ein Tipp zur selbständigen JS-Fehlersuche.
Starte die fehlerhafte Seite im Firefox und schau dir die sehr ausführliche Fehlerbeschreibung an im Menü
Starte die fehlerhafte Seite im Firefox und schau dir die sehr ausführliche Fehlerbeschreibung an im Menü
Extras/JavaScript-KonsoleAntwort 7 von Mel
Ah super,
ja vielen Dank.
Natürlich werd ich in Zukunft eine volle Fehlerbeschreibung geben, hatte ich leider in diesem Fall vergessen.
Super vielen Dank auch für den Tipp der Javscriptkonsole. Das sollte schon einiges weiterhelfen.
LG und ein netten Wochenendanfang
Mel
ja vielen Dank.
Natürlich werd ich in Zukunft eine volle Fehlerbeschreibung geben, hatte ich leider in diesem Fall vergessen.
Super vielen Dank auch für den Tipp der Javscriptkonsole. Das sollte schon einiges weiterhelfen.
LG und ein netten Wochenendanfang
Mel
Antwort 8 von Mel
Hallo,
hier noch einmal ein Feedback.
Vielen Dank es funktioniert einwandfrei.
Außer dass der Blinker nicht beim erst freigelassenen sondern beim letzten freigelassenen Feld aufblinkt, klappt es einwandfrei.
Aber ich glaub, ich hab jetzt schon genug mit diesem Thema genervt und frag jetzt lieber nicht noch einmal nach, ob es eine Möglichkeit gibt, dass der Blinker auf das erste freigelassene Feld springt.
Vielen Dank noch einmal und LG
Mel
hier noch einmal ein Feedback.
Vielen Dank es funktioniert einwandfrei.
Außer dass der Blinker nicht beim erst freigelassenen sondern beim letzten freigelassenen Feld aufblinkt, klappt es einwandfrei.
Aber ich glaub, ich hab jetzt schon genug mit diesem Thema genervt und frag jetzt lieber nicht noch einmal nach, ob es eine Möglichkeit gibt, dass der Blinker auf das erste freigelassene Feld springt.
Vielen Dank noch einmal und LG
Mel
Antwort 9 von rfb
function test()
{
var antwort="";
if(document.formular.telefon.value) == "")
{
antwort="Es fehlt die Telefonnummer!\n"+antwort;
document.formular.telefon.focus();
}
if(document.formular.name.value == "")
{
antwort="Es fehlt der Name!\n"+antwort;
document.formular.name.focus();
}
if (antwort=="") return true;
else {
alert(antwort);
return false;
}
}
(eigentlich hab ich auf die Frage schon gewartet ;-)
Der Trick besteht darin, die Formularfelder von unten nach oben abzufragen, aber den Antworttext trotzdem in der richtigen Reihenfolge zu ergänzen, also so dass die neue Fehlermeldung vor den bestehenden Text gehängt wird.
Antwort 10 von Mel
Zitat:
(eigentlich hab ich auf die Frage schon gewartet ;-)
(eigentlich hab ich auf die Frage schon gewartet ;-)
Gott sei Dank, dann muss ich nicht allzu schlechtes Gewissen haben ;-)
Ja, ich werds dann gleich mal ausprobieren und bin sicher dass dann der alert endlich wie gewünscht aupoppt und der Zeiger dahin springt, wo er hinsoll.
Super super vielen Dank
und ein nettes WE
Gruss Mel

