mennie: Prüfen ob Form ausgefüllt ist (nur wenn es auch existiert)

Hi,

mit javascript prüfe ich ob einige forms ausgefüllt sind. habe da eine funktion mit so einem aufbau:

function chkRegister()
{
   if(document.checkout_address.email_address.value == "")
   {
      alert("Sie haben keine Emailadresse eingegeben");
      document.checkout_address.email_address.focus();
      return false;
   }
   ....
}

Ich möchte diese Funktion für mehrere Formuluare nehmen, da ich den Quelltext nicht doppelt und dreifach haben möchte.

Nur manchmal ist halt so nen Feld nicht da und dann gibst nen javascript fehler. Kann man vorher prüfen ob das Feld existiert, so nach dem Motto:

if (exists(document.checkout_address.email_address))
{
   if(document.checkout_address.email_address.value == "")
   {
      alert("Sie haben keine Emailadresse eingegeben");
      document.checkout_address.email_address.focus();
      return false;
   }
}

Wäre cool, wenn da jemand eine Idee hätte

mennie

  1. Ich möchte diese Funktion für mehrere Formuluare nehmen, da ich den Quelltext nicht doppelt und dreifach haben möchte.

    Du kannst einfach beim submit die Referenz auf das forular mitgeben.

    <form ... onsubmit="return chkRegister(this);">
    ...

    function chkRegister(f)
    {
       if(!f.email_address.value)
       {
          alert("Sie haben keine Emailadresse eingegeben");
          f.email_address.focus();
          return false;
       }
       ....
    }

    Nur manchmal ist halt so nen Feld nicht da und dann gibst nen javascript fehler. Kann man vorher prüfen ob das Feld existiert, so nach dem Motto:

    if (exists(document.checkout_address.email_address))

    nö, noch einfacher

    if ( document.checkout_address.email_address)

    bzw.

    if ( document.checkout_address && document.checkout_address.email_address )

    ist aber nicht nötig, wenn du die Referenz auf das Fomrular direkt mitgibst.

    Struppi.