Haemmi: Hife mit einer kleinen Funktion

Hallo Leute
Ich habe ein kleines Problem und hoffe ich finde hier jemand, der mir helfen kann!
Also, ich habe ein kleines Formular gebastelt. Das soll, nachdem man es ausgefüllt hat abgeschickt werden (an eine email adresse). Natürlich soll dabei nicht nur müll geschickt werden, also habe ich ein kleines script gebastelt, das die eingaben überprüft. Das funktioniert auch ganz gut, nur wollte ich es jetzt noch etwasverbessern. Da ein gr0ßer teil des scripts aus folgenden zeilen besteht:

if(document.formularname.feldname.value == "")
{
  alert("Bitte tragen Sie in feldname etws ein!);
  return false;
}

dachte ich mir, es wäre nicht dumm, wenn man dafür eine extra funktion schreibt, der man jeweils den "feldnamen" als variable übergibt und die dann einen rückgabe wert hat, der dann weiter verarbeitet wird (also fehlermeldung etc...)
ich hatte das dann wie folgt versucht:

function emptychk(feldname)
{
  if(document.formularname['feldname'].value == "")
  {
    return false;
  }
}

function main();
{
  var empty = emptychk(Name);

etc...
}

doch irgendwie klappt das nicht!! ich bitte um hilfe!!

  1. Hallo Haemmi,

    so könnte die function aussehen,

    entweder du indexierst das element z. B:

    document.form[0].elements[0].value="" ;

    oder

    function emptychk(feldname)
    {
      if(document.formularname.elements[feldname].value == "")
      {
        return false;
      }
    }

    meines Wissens wird aber das array elements nicht vom
    IE unterstützt

    weitere Hilfe findest du unter:
    http://developer.netscape.com/docs/manuals/js/client/jsguide/index.htm

    Gruß
    Markus

    1. Hi!

      function emptychk(feldname)
      {
        if(document.formularname.elements[feldname].value == "")
        {
          return false;
        }

      // Hier fehlt noch ein:
          return true;

      }

      meines Wissens wird aber das array elements nicht vom
      IE unterstützt

      Echt? Schweinerei. Na dann eben statt
        document.formularname.elements[feldname].value
      nur
        document.formularname[feldname].value

      weitere Hilfe findest du unter:
      http://developer.netscape.com/docs/manuals/js/client/jsguide/index.htm

      Und auch:
      http://developer.netscape.com/docs/manuals/js/client/jsref/index.htm
      Zum Download:
      http://developer.netscape.com/docs/manuals/javascript.html

      Bye, Calocybe

    2. Hallo Markus

      meines Wissens wird aber das array elements nicht vom
      IE unterstützt

      aber sicher doch, zumindest dieses Script läuft unter IE3,4 und 5

      <html>
      <head>
      <title>Element</title>
      </head>
      <body onLoad="gc('test');">
      <form name="test2">
      <input type="Text" name="test" value="Test" size="" maxlength="">
      </form>
      <script type="text/javascript">
      <!--
             function gc(x)
             {
         alert(document.test2[x].value)}
      //-->
      </script>
      </body>
      </html>

      Haemmi,

      function main();
      {
        var empty = emptychk(Name);

      etc...
      }

      wo wird die Variable Name gesetzt? Die Funktion benötigt einen Übergabewert.

      Viele Grüße

      Antje

    3. Hallöchen,

      meines Wissens wird aber das array elements nicht vom
      IE unterstützt

      Wie kommst du denn darauf?
      Der IE (ab 4) kann:
      document.formularname.feldname
      document.formularname.elements[x]
      document.forms[x].feldname
      document.forms[x].elements[x]
      man kann weiterhin auch ohne die Angabe des Formular direkt ein Element auslesen, d.h. auf das form-tag kann ganz verzichtet werden (nurIE)
      document.feldname
      document.elements[x] müsste auch funzen.

      Grüße
      Thomas Mell

    4. Ihr habt natürlich alle recht,

      war vielleicht etwas vorschnell geantwortet! Passiert halt, habe aber
      aus dieser Situation gelernt und werde bei einer zukünftigen Beantwortung
      versuchen den Wahrheitsgehalt meiner Aussage zu überprüfen!

      Mit freundlichen Gruss
      Markus Schneider

    5. Hallo alle miteinander
      ich danke euch allen!!!!!!! Ich weiß, eine etwas späte antwort und warscheinlich wird sie
      keiner mehr von euch lesen, aber es geht ums prinzip:

      DANKE!!!!!!!!!!

      Cu
      haemmi