Ankündigung

Einklappen
Keine Ankündigung bisher.

Submitbutton erst nach Textfeldeingabe aktivieren

Einklappen

Neue Werbung 2019

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

  • Submitbutton erst nach Textfeldeingabe aktivieren

    Hallo,

    ich habe eine relativ einfache Captcha Überprüfung gebastelt und würde gerne den Submitbutton erst dann zum Anklicken freigeben, wenn in dem Captchatextfeld 5 Zeichen eingetippt wurden.
    Momentan scheitere ich aber überhaupt noch an der Erkennung der Eingabe an sich.
    Mein Code für eine Checkbox sieht folgendermaßen aus, funktioniert, aber ist natürlich als zusätzliche Frage irgendwie doof:
    PHP-Code:
    <form name="Abfrage">
    <
    input name="Captcha" onClick="if(this.checked==true) { document.Abfrage.Send.disabled=false; } else { document.Abfrage.Send.disabled=true; }"type="checkbox"Captcha eingegeben
    <input disabled name="Send" type="submit" value="Abschicken">
    </
    form
    Wenn ich das gleiche mit Texteingabe mache, habe ich es so probiert:
    PHP-Code:
    <form name="Abfrage">
    <
    input name="captcha" onkeydown="if(captcha.value !== "") { document.Abfrage.Send.disabled=false; } else { document.Abfrage.Send.disabled=true; }" type="text">
    <
    input disabled name="Send" type="submit" value="Abschicken">
    </
    form
    Leider funktioniert es nicht und ich bekomme nicht raus wieso. Das gleiche passiert wenn ich onkeydown gegen onkeyup oder onChange austausche.

    Bin über jeden Tipp dankbar.
    Viele Grüße


    EDIT: Oder gibt es eine effektivere Lösung, die auch funktioniert, wenn JS clientseitig deaktiviert ist?

  • #2
    Zitat von Antwort42 Beitrag anzeigen
    EDIT: Oder gibt es eine effektivere Lösung, die auch funktioniert, wenn JS clientseitig deaktiviert ist?
    Ja. http://www.w3schools.com/html/html_form_attributes.asp
    Siehe "required" und ggf. "pattern"
    [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

    Kommentar


    • #3
      Das funktioniert soweit total einfach und genial. Aber gibt es auch eine Möglichkeit, die gleichzeitig in Safari und IE läuft?
      IE ist ja glaube nicht mal das Problem, aber Safari wäre schon ganz nett.

      HTML5 ist da super, aber Apple muss ja alles anders machen... :/

      Edit: Die Lösung wäre ja eigentlich JS, aber hat da vllt noch jemand einen Tipp für die Funktion oben?

      Kommentar


      • #4
        Hat wirklich niemand mehr einen Tipp für mich?
        Ich verzweifle daran wirklich. :/

        Kommentar


        • #5
          http://www.matiasmancini.com.ar/ajax...tml5-form.html

          https://github.com/ericelliott/h5Validate

          Kommentar


          • #6
            Vlt. hilft Dir https://jsfiddle.net/sjnegya9/ weiter. Javascript scheint ja doch eine Option zu sein.
            [B]Es ist schon alles gesagt. Nur noch nicht von allen.[/B]

            Kommentar


            • #7
              JavaScript bzw. clientseitiges Scriptig ist bei deiner Anforderung die einzige Lösung.
              Wie soll sonst logisch eine individuelle Anforderung ausgewertet werden?

              Deine Überlegungen müssen sein
              * wie lese ich die Textfelder aus
              * ab wann ist die Textlänge 5 erreicht und wie reagiere ich darauf
              * CSS reicht um dann um z.b. ein Objekt sichtbar und unsichtbar zu schalten

              Einfach Grundlagen JS lernen und dann loslegen.


              bitcoin.de <- Meine Freelancerwährung

              Kommentar


              • #8
                https://www.html5rocks.com/en/tutori...on/#toc-safari

                Kommentar


                • #9
                  HTML-Code:
                  <textarea></textarea>
                  <button>button</button>
                  Code:
                  $(document).ready(function() {
                      $(':button').attr('disabled', true);
                      $('textarea').on('keyup',function() {
                      var textarea_value = $("#texta").val();
                      if ($('textarea') != '') {
                          $(':button').attr('disabled' , false);
                      } else {
                          $(':button').attr('disabled' , true);
                      }
                      });
                  });

                  Kommentar


                  • #10
                    Hm, der TE hat sich anscheinend vom Acker gemacht.

                    @GN: Deine Lösung hat Macken. Falscher Selektor, "wenn in dem Captchatextfeld 5 Zeichen eingetippt wurden" hast Du außer Acht gelassen.
                    [B]Es ist schon alles gesagt. Nur noch nicht von allen.[/B]

                    Kommentar


                    • #11
                      Auf wenn Off-Topic.. Was spricht gegen eine serverseitige Realisierung? Affenformular etc? Wird ohne Captca geklickt bleibt Form 1:1 bestehen mit Meldung das Captca fehlt.

                      The string "()()" is not palindrom but the String "())(" is.

                      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                      PHP.de Wissenssammlung | Kein Support per PN

                      Kommentar

                      Lädt...
                      X