| Autor |
Nachricht |
Kash
Moderator Threadersteller
Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 25
Geschlecht:
|
Verfasst Do 24.07.2008 12: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 13:08, insgesamt 1-mal bearbeitet
|
|
| |
|
 |
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Do 24.07.2008 13: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 13:24, insgesamt 1-mal bearbeitet
|
|
| |
|
 |
Kash
Moderator Threadersteller
Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 25
Geschlecht:
|
Verfasst Do 24.07.2008 13: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 13: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 13:36, insgesamt 1-mal bearbeitet
|
|
| |
|
 |
Kash
Moderator Threadersteller
Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 25
Geschlecht:
|
Verfasst Do 24.07.2008 13: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
Moderator Threadersteller
Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 25
Geschlecht:
|
Verfasst Do 24.07.2008 13: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 13: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
Moderator Threadersteller
Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 25
Geschlecht:
|
Verfasst Do 24.07.2008 13: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 13:59, insgesamt 1-mal bearbeitet
|
|
| |
|
 |
| |
|
 |
| Ähnliche Themen |
Formularüberprüfung mit Javascript funktioniert nicht!
[javascript] mit <select> feld wert an javascript funk
javascript im javascript?!
Javascript
Imagepopup in Javascript
javascript probleme
|
 |