mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 19.04.2024 02:22 Benutzername: Passwort: Auto-Login

Thema: [JAVASCRIPT] - Formularüberprüfung vom 24.07.2008


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [JAVASCRIPT] - Formularüberprüfung
Seite: 1, 2  Weiter
Autor Nachricht
Kash
Threadersteller

Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 41
Geschlecht: Männlich
Verfasst Do 24.07.2008 13:45
Titel

[JAVASCRIPT] - Formularüberprüfung

Antworten mit Zitat Zum Seitenanfang

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" />&nbsp; 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
  View user's profile Private Nachricht senden
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Do 24.07.2008 14:22
Titel

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
Kash
Threadersteller

Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 41
Geschlecht: Männlich
Verfasst Do 24.07.2008 14:30
Titel

Antworten mit Zitat Zum Seitenanfang

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.
  View user's profile Private Nachricht senden
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Do 24.07.2008 14:35
Titel

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Kash
Threadersteller

Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 41
Geschlecht: Männlich
Verfasst Do 24.07.2008 14:37
Titel

Antworten mit Zitat Zum Seitenanfang

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.
  View user's profile Private Nachricht senden
Kash
Threadersteller

Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 41
Geschlecht: Männlich
Verfasst Do 24.07.2008 14:40
Titel

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Do 24.07.2008 14:56
Titel

Antworten mit Zitat Zum Seitenanfang

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

Code:

if ...
else if
{

}


Richtig, GAR KEINER! Doku lesen, Thread schließen.
  View user's profile Private Nachricht senden
Kash
Threadersteller

Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 41
Geschlecht: Männlich
Verfasst Do 24.07.2008 14:59
Titel

Antworten mit Zitat Zum Seitenanfang

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 Grins


Zuletzt bearbeitet von Kash am Do 24.07.2008 14:59, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
 
Ä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?!
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.