Autor |
Nachricht |
Kash
Threadersteller
Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 41
Geschlecht:
|
Verfasst Do 24.07.2008 13:45
Titel [JAVASCRIPT] - Formularüberprüfung |
|
|
Hallo zusammen,
ich bastel mir gerade eine formularüberprüfung zusammen bei der ich eine kleine sache nicht hinbekomme.
Folgendes,
die inputfelder welche als Pflichtfelder deklariert sind haben eine bestimmte Klassenzuweisung und eine eindeutige id.
Das javascript prüft ob der value gleich Null ist. Wenn das der Fall ist färbt er das Inputfeld rot ein.
Jetzt möchte ich erreichen das wenn nach dieser Aktion doch etwas eingetragen wurde, und bspweise noch ein anderes Pflichtfeld nicht ausgefüllt worden ist, er das feld wieder in die ursprungsfarbe wechselt.da dieses pflichtfeld ja nun ausgefüllt worden ist.
doch das funktioniert irgendwie nicht.und er schickt das formular ab, obwohl zum beispiel eines der anderen pflichtfelder kein value hat.
hier mal ein kleiner auszug vom code
HTML
Code: |
<input type="text" name="M_01_name" id="pfl1" class="pflichtfeld" /> Name <div id="st1color" style="display:inline;color:#535353;">*</div>
|
JAVASCRIPT
Code: |
function checkform()
{
if(document.form.M_01_name.value == 0 )
{
document.form.M_01_name.focus();
document.getElementById('pfl1').style.background = "#FB613D";
document.getElementById('st1color').style.color = "#FB613D";
document.getElementById('st1hiddenhinweis').style.visibility = "visible";
}
else
{
If(document.form.M_01_name.value != 0 )
{
document.getElementById('pfl1').style.background = "#F9DDB0";
return false;
}
}
if(document.form.M_04_strasse.value == 0)
{
document.form.M_04_strasse.focus();
document.getElementById('pfl2').style.background = "#FB613D";
document.getElementById('st2color').style.color = "#FB613D";
document.getElementById('st1hiddenhinweis').style.visibility = "visible";
}
if(document.form.M_05_ort.value == 0)
{
document.form.M_05_ort.focus();
document.getElementById('pfl3').style.background = "#FB613D";
document.getElementById('st3color').style.color = "#FB613D";
document.getElementById('st1hiddenhinweis').style.visibility = "visible";
}
if(document.form.M_08_email.value == 0)
{
document.form.M_08_email.focus();
document.getElementById('pfl4').style.background = "#FB613D";
document.getElementById('st4color').style.color = "#FB613D";
document.getElementById('st1hiddenhinweis').style.visibility = "visible";
}
if(document.form.M_08_email.value == 0 || document.form.M_04_strasse.value == 0 || document.form.M_05_ort.value == 0 || document.form.M_08_email.value == 0)
{
return false;
}
}
|
es dreht sich jetzt nur um das inputfeld 'M_01_name' bei dem ich testen möchte das die ursprungsfarbe wieder hergestellt wird nachdem es ausgefüllt worden ist.
besser wäre es natürlich das würde onFocus passieren.
also sobald etwas hineingeschrieben wird soll die rote hintergrundfarbe verschwinden.
danke
Zuletzt bearbeitet von Kash am Do 24.07.2008 14:08, insgesamt 1-mal bearbeitet
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Do 24.07.2008 14:22
Titel
|
|
|
Ist doch kein Ding, welches Event du nutzen willst musst du ja schon selbst wissen,
natürlich sinnvoll schon während dem tippen oder spätestens beim verlassen des Feldes
zu validieren.
Code: | ...
if(field.value.length > 0)
tue etwas
... |
Zuletzt bearbeitet von m am Do 24.07.2008 14:24, insgesamt 1-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
Kash
Threadersteller
Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 41
Geschlecht:
|
Verfasst Do 24.07.2008 14:30
Titel
|
|
|
genau das hatte ich versucht.
da es anscheinend bei JAVASCRIPT keine ELSE-IF gibt hatte ich es ja über den ELSE Zweig versucht.
Dort nochmals nachzufragen ob das inputfeld nun inhalt hat oder nicht
Code: |
else
{
If(document.form.M_01_name.value != 0 )
{
document.getElementById('pfl1').style.background = "#F9DDB0";
return false;
}
}
|
auch bringt
Code: |
else
{
If(document.form.M_01_name.value > 0 )
{
document.getElementById('pfl1').style.background = "#F9DDB0";
return false;
}
}
|
mir nicht das ergebniss.
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Do 24.07.2008 14:35
Titel
|
|
|
Kash hat geschrieben: | da es anscheinend bei JAVASCRIPT keine ELSE-IF gibt |
Doch natürlich!
Code: | var test = 'franz';
if(test == 'otto') {
alert('otto');
} else if(test == 'franz') {
alert('franz');
} else {
alert('else');
} |
Zuletzt bearbeitet von m am Do 24.07.2008 14:36, insgesamt 1-mal bearbeitet
|
|
|
|
|
Kash
Threadersteller
Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 41
Geschlecht:
|
Verfasst Do 24.07.2008 14:37
Titel
|
|
|
m hat geschrieben: | Kash hat geschrieben: | da es anscheinend bei JAVASCRIPT keine ELSE-IF gibt |
Doch natürlich!
Code: | var test = 'franz';
if(test == 'otto') {
alert('otto');
} else if(test == 'franz') {
alert('franz');
} else {
alert('else');
} |
|
stimmt, gibt es tatsächlich.bei selfhtml war das nicht mit aufgeführt.
teste es jetzt mal, wobei ich mir nicht vorstellen kann das es dann das gewünschte erg liefert.
denn die herangehensweise mit else und dann nochmal if ist ja im prinzip das selbe.
|
|
|
|
|
Kash
Threadersteller
Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 41
Geschlecht:
|
Verfasst Do 24.07.2008 14:40
Titel
|
|
|
danke m.
mit ELSE IF funktioniert es
Code: |
if(document.form.M_01_name.value == 0 )
{
document.form.M_01_name.focus();
document.getElementById('pfl1').style.background = "#FB613D";
document.getElementById('st1color').style.color = "#FB613D";
document.getElementById('st1hiddenhinweis').style.visibility = "visible";
}
else if (document.form.M_01_name.value != 0 )
{
document.getElementById('pfl1').style.background = "#F9DDB0";
}
|
bis dahin,ein schönen tag noch
|
|
|
|
|
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Do 24.07.2008 14:56
Titel
|
|
|
Gute Güte!
Was du meinst sind konstrukte wie elsif (perl) oder elseif (php). SOwas gibts in Javascript tatsächlich nicht.
Aber jetzt denk mal scharf nach:
Was ist der Unterschied zwischen
Code: |
if ( bedingung )
{
}
else {
if (bedingung)
{
}
} |
und
Richtig, GAR KEINER! Doku lesen, Thread schließen.
|
|
|
|
|
Kash
Threadersteller
Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 41
Geschlecht:
|
Verfasst Do 24.07.2008 14:59
Titel
|
|
|
das habe ich mir auch gedacht bacon.
deswegen hatte ich vorher ja diesen weg gewählt.
funktionierte nicht, jetzt funktioniert es.
egal. und ja ich lese und lese und lese.
aber wenn du noch etwas konstruktives ablassen willst,
beschreib mir mal den eventHandler für die aktion das beim eintippen in ein inputfeld die funktion aufgerufen wird.
onBlur() kann es ja nicht sein, da das erst nach verlassen des inputfeldes prüft.
idee?
EDIT// ElseIf gibt es auch bei meinem geliebten ASP
Zuletzt bearbeitet von Kash am Do 24.07.2008 14:59, insgesamt 1-mal bearbeitet
|
|
|
|
|
|
|
|
Ähnliche Themen |
Formularüberprüfung mit Javascript funktioniert nicht!
[javascript] mit <select> feld wert an javascript funk
Javascript im XML
JavaScript in PHP
ist das javascript ?
javascript im javascript?!
|
|