Texteingabe überprüfen ob vorhanden

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Texteingabe überprüfen ob vorhanden

    Hallo,

    hab jetzt ewig mit suchen verbracht aber nichts gefunden, wie ich <INPUT> felder mit nen javascript überprüfen kann ob dort werte enthalten sind.

    danke für eure hilfe

  • #2
    Dazu erstellst du einfach folgende Javascript-Funktion:

    function subm()
    {
    if (document.formular.inputname.value="")
    {
    alert("Geben Sie bitte etwas ein!");
    document.formular.inputname.focus();
    }
    else
    {
    document.form.submit();
    }
    }

    Dort wo formluar steht, trägst du den Namen des betreffenden HTML-Formulars ein, dort wo inputname steht, trägst du den Namen des Eingabefeldes ein.

    Die Funktion rufst du mit folgendem Button in HTML auf:

    <input type="button" value=" Absenden " onclick="subm()">

    Das ganze macht jetzt folgendes:
    Nachdem der User auf den Button geklickt hat, überprüft die Funktion, ob das Eingabefeld leer ist. Ist das der Fall, öffnet es ein Dialogfeld mit der Meldung "Geben Sie bitte etwas ein" und setzt dann den Fokus auf dieses Feld, setzt also den Textcursor da hinein. Ist das Feld nicht leer, wird das Formular so übertragen, als ob der User auf einen Submit-Button geklickt hätte.

    Kommentar


    • #3
      danke!

      aber wie mache ich es wenn ich z.b. zwei felder nach einander überprüfen möchte, geht das dann so:

      PHP-Code:
      <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
      <!--
      function subm()
      {
      if (document.daten.vorname.value="")
      {
      alert("Vornamen nicht eingegeben!");
      document.daten.vorname.focus();
      }
      elseif (document.daten.nachname.value="")
      {
      alert("Nachnamen nicht eingegeben!");
      document.daten.nachname.focus();
      }
      else
      {
      document.form.submit();
      }
      }
      //-->
      </SCRIPT>


      <form name="daten" action="<? $PHP_SELF ?>" method="post" target="_self">
      <input type="Text" name="vorname" size="25" maxlength="30" value="">
      <input type="Text" name="nachname" size="25" maxlength="30" value="">
      <input type="button" name="update" value="Weiter" onclick="subm()">
      </form>

      Kommentar


      • #4
        Es gibt kein elseif in Javascript, deshalb das durch if ersetzen.

        Allerdings würd ich das ganze so gestalten:
        <form onsubmit="return subm()">
        Und dann die Javascriptfunktion umbauen:
        in den If-Abfragen ans ende ein "return false;"
        ins Else ein "return true;"

        Kommentar


        • #5
          daran hätt ich ja auch denken könne, danke!

          aber irgendwie klappt es bei mir komplett gar nicht. muß ich unbedigt das javascript im head haben? oder kann ich es auch auf der site einfach so einbauen?

          bekomme immer folgende fehlermeldung:
          Fehler: document.form has no properties
          Quelldatei: http://www.......de/index-shop.htm?auswahl=shop
          Zeile: 193


          In Zeile 193 steht folgenes:
          document.daten1.e_mail.focus();
          Zuletzt geändert von ; 17.04.2005, 00:38.

          Kommentar


          • #6
            das form durch den Namen des <form> tags ersetzen. Und <script> gehört afaik in den <head> Bereich (geht aber dennoch im Body...)

            Kommentar


            • #7
              Laut SelfHTML kann der Javascript-Bereich überall innerhalb des HTML-Tags (also auch im body und theoretisch sogar im title) stehen. Allerdings sollte darauf geachtet werden, dass einige Browser eine Javascript-Funtion nur dann ausführen können, wenn sie VOR dem aufrufenden HTML- oder ggf Javascript-Element steht. Ist wohl noch ein Relikt aus alten Programmiersprachen und gilt heute fast nicht mehr. Unter anderem deshalb, und auch wegen der Übersichtlichkeit hat es sich eingebürgert, den Javascript-Bereich im head zu platzieren. Ist aber nicht Pflicht (nichtmal bei W3C, ich habs schonmal getestet ).

              Kommentar

              Lädt...
              X