Formular-Eingaben überprüfen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Formular-Eingaben überprüfen

    Hi Leute,

    ich habe ein [coderwiki]Informationen/Formular[/coderwiki]:

    Quellcode

    1. <form name="Kunde" action="index.php" method="POST">
    2. <span>Vorname:</span>
    3. <span>
    4. <input type="text" name="vorname" />
    5. </span>
    6. <span>Nachname:</span>
    7. <span>
    8. <input type="text" name="nachname" />
    9. </span>
    10. <input type="submit" name="submitToVorschau" value="Weiter">
    11. </form>
    Alles anzeigen


    Jetzt möchte ich, dass der submit-Button nur dann angezeigt wird, wenn die Felder Vorname und Nachname ausgefüllt wurden.
    Wurden die Felder noch nicht ausgefüllt, dann soll der Submit-Button grau hinterlegt sein und darunter die Meldung: "Bitte füllen Sie alle Felder aus" stehen!

    Hat jemand einen Ansatz für mich? Bin leider noch Anfänger, würde mich aber freuen, wenn man das mit Ajax realisieren könnte!
  • falsch
    php wird nur auf dem server ausgeführt, kann also nicht direkt auf Usereingaben reagieren

    ajax brauchst du allerdings auch nicht - simples JavaScript reicht

    also erstmal machst du den submit button grau und hinterlegst den standard text

    Quellcode

    1. <input type="submit" name="submitToVorschau" value="Bitte f&uuml;llen Sie alle Felder aus" style="color:#afafaf">


    dann baust du dir eine check funktion um die eingaben zu überprüfen und die farben/texte zu setzen

    Quellcode

    1. function checkInput() {
    2. var submitObj = document.Kunde.submitToVorschau;
    3. if(document.Kunde.vorname.value == "" || document.Kunde.nachname.value == "") {
    4. submitObj.value = "Bitte f&uuml;llen Sie alle Felder aus";
    5. submitObj.style.color = "#afafaf";
    6. } else {
    7. submitObj.value = "weiter";
    8. submitObj.style.color = "#000000";
    9. }
    10. }


    diese rufst du dann am besten bei jeder tastatureingabe auf

    Quellcode

    1. onkeyup="checkInput()"
  • Habe es jetzt folgendermaßen gemacht:

    Quellcode

    1. <html>
    2. <head>
    3. <script language="JavaScript">
    4. <!--
    5. function checkInput()
    6. {
    7. if(document.Kunde.vorname.value == "" || document.Kunde.nachname.value == "")
    8. {
    9. document.getElementById(11).style.display = "block"; // Hinweis einblenden
    10. document.getElementById(12).style.display = "none"; // Submit-Button ausblenden
    11. }
    12. else
    13. {
    14. document.getElementById(11).style.display = "none"; // Hinweis ausblenden
    15. document.getElementById(12).style.display = "block"; // Submit-Button einblenden
    16. }
    17. }
    18. //-->
    19. </script>
    20. </head>
    21. <body>
    22. <form name="Kunde" action="index.php" method="POST">
    23. <span>Vorname:</span>
    24. <span>
    25. <input type="text" name="vorname" onkeyup="checkInput()" />
    26. </span>
    27. <span>Nachname:</span>
    28. <span>
    29. <input type="text" name="nachname" onkeyup="checkInput()" />
    30. </span>
    31. <br/><br/>
    32. <!-- Wenn Felder nicht ausgefüllt -->
    33. <div id="11" style="display: box">
    34. Bitte f&uuml;llen Sie alle Felder aus!
    35. </div>
    36. <!-- Wenn Felder ausgefüllt -->
    37. <input type="submit" name="submitToVorschau" id="12" value="Vorschau anzeigen" style="display: none">
    38. </form>
    39. </body>
    40. </html>
    Alles anzeigen


    THX! Noch irgendwelche Verbesserungsvorschläge???