[JavaScript] Formularpflichtfelder in mehreren Formularen prüfen

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

  • [JavaScript] Formularpflichtfelder in mehreren Formularen prüfen

    Hallo

    Ich hab verschieden große Formularfelder auf mehreren Dateien verteilt. In jedem Formular gibt es eine gewisse Anzahl an Pflichtfeldern. Jetzt möchte ich vor dem Absenden mit Javascript überprüfen lassen, ob die Pflichtfelder auch ausgefüllt sind.

    Ich könnte natürlich für jedes Formular eine individuelle Funktion machen, in dem ich die von mir festgelegten Felder prüfe. Bei 15 Feldern mit z.B. 12 Pflichtfeldern ist das aber sehr nervend und wenn ich jetzt 5 dieser Formulare habe, dann kommt da ja ne ganze Menge Quellcode zusammen, was sich doch sicherlich auf die Performance auswirkt.

    Da meine Javascript Kenntnisse nicht so weit reichen, daher jetzt meine Frage ob ich das auch mit einer Funktion für alle Formulare realisieren kann und wenn ja wie!? (Alle Formulare haben eine unterschiedliche Anzahl von inputfeldern und auch eine unterschiedliche Anzahl von Pflichtfeldern!)

    thx
    Boneman

  • #2
    fertiges gibt´s nicht ... aber du könntest:[list=1][*]den Pflichtfeldern bestimmte IDs geben (z.B. beginnend mit "p_" für "Pflichtfeld")[*]Beim Absenden des Formulars eine selbstgestrickte Funktion aufrufen (onSubmit="return pflichtcheck();", die dann[*]alle Formularfelder durchsucht: document.getElementByTagName(xx) mit xx in ('input', 'textarea', 'select')[*]und prüft, ob alle Felder deren ID mit "p_" beginnt:el.id.match(/^p_/)[*]einen Wert enthalten:
    - input: el.value.length>0
    - textarea: el.innertext>0 (meine ich)
    - select: if(el.multiple) { Schleife über alle Options, mind. eins muss "selected" sein } else el.selectedIndex>0[*]hat eins der Elemente keinen Wert: alert('nicht alle Pflichtfelder ausgefüllt'); return false;[*]sonst: return true;[/list=1]
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      PHP-Code:
      $schluessel array_keys($_POST,'');//Gibt alle Schlüssel zurück, die keinen Wert haben
      $pflicht = array() // Hier die Namen der Pflichtfelder rein
      foreach($schluessel as $wert)
      {
          if(
      in_array($wert,$pflicht))
          {
              
      //nicht alle Pflichtfelder ausgefüllt
          
      }
          else
          {
              
      //Es scheinen alle Felder ausgefüllt worden zu sein
          
      }

      Gruss

      tobi

      EDIT:

      Sorry zu wenig genau gelesen. Wolltest ja eine JS Lösung

      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        Dank euch beiden. Das von Titus ist zwar auf den ersten Blick kompliziert, aber ich hoffe ich bekomm das am Wochenende hin. Falls nicht, meld ich mich bestimmt nochmal .

        gleich mal ne Frage:
        Wenn ich nur Input-Felder habe, dann brauch ich nur das, oder?
        document.getElementByTagName('input')



        @ Tobi
        Ist schon ok. Bei den Dateien handelt es sich eh um PHP-Files und dann werde ich vermutlich beides einbauen, um mich gegen (un)gewollte Programmabstürze abzusichern .

        thx
        Boneman

        Kommentar

        Lädt...
        X