Sebastian: Ist mind. eines von mehreren Feldern ausgefuellt ist?

Beitrag lesen

Hallo Sebastian,

ich bin nicht sicher ob ich verstanden habe, wo Dein Problem liegt.

Das Problem stellt sich folgendermassen:

Bisher frage ich bei der Formulareinfabe nur ab, ob das Feld Name ausgefuellt ist. Dabei gehe ich davon

»»  aus, das derjenige, der das Formular ausfuellt, auch so schlau ist, zu hinterlassen, wie er zu erreichen ist.

Da gibt's aber dann doch welche, die weder dei Anschrift ausfuellen, noch die Tel. Nr. oder Fax.Nr.

»»  oder Email.

Was ich jetzt sicherstellen will, ist , dass derjenige, der das Formular ausfuellt, die Felder mit Angaben zur
postalischen Anschrift ausfuellt (also die Felder: Strasse, Nr., PLZ, Ort). Tut er das nicht, sollte eines der
folgenden Felder ausgefuellt sein: Tel. oder Fax oder Email.

Die Funktion, die ich suche, sollte also folgendes testen:

»»  (strasse AND nr AND plz AND ort) OR (tel OR fax OR email)

Stellt Deine Funktion das sicher?

Gruss Nico

Hi Nico,
nein tut sie nicht.

In dem Fall versuch folgendes:

function Check()
{
if(document.forms[#].fax.value=="" && document.forms[#].tel.value=="" && document.forms[#].email.value=="")
  {
  if(document.forms[#].strasse.value=="" document.forms[#].nr.value=="" document.forms[#].plz.value=="" document.forms[#].ort.value=="")
   {
   alert("Bitte geben sie..... ein");
   document.forms[#].strasse.focus();
   return false;
   }
  return true;
  }
return true;
}

das erste if() überprüft ob in den Feldern fax, tel und email kein eintrag gemacht wurde(es genügt also ein eintrag um dsa Formular abzusenden). ist dies der fall überprüft das zweite if() ob in einem der adressfelder kein Eintrag gemacht wurde. ist dies der Fall wird mit alert() eine nachricht ausgegeben und der focus auf das feld strasse gesetzt. return false verhindert dass das formular abgeschickt wird.

Ciao

Sebastian