Julian Tacke: Button mit ENTER-Taste aktivieren!

Hallo da draussen!
bin gerade dabei ein login bereich zu programmieren und wuerde gerne wissen wie man den "login"-button mit der enter taste aktivieren kann! gibt es einen eventhandler in JS dafuer von dem ich nichts weiss?
auf allen grossen seiten funktioniert das, wahrscheinlich ist es weniger kompliziert als ich denke!
viele gruesse aus neuseeland, wo es gerade 20:30 uhr ist!
mfg
julian

  1. Tach,

    bin gerade dabei ein login bereich zu programmieren und wuerde gerne wissen wie man den "login"-button mit der enter taste aktivieren kann! gibt es einen eventhandler in JS dafuer von dem ich nichts weiss

    dafür ist kein JavaScript nötig, die meisten Browser schicken ein vollständiges Formular, beim betätigen der Enter-Taste automatisch ab.

    mfg
    Woodfighter

    1. dafür ist kein JavaScript nötig, die meisten Browser schicken ein vollständiges Formular, beim betätigen der Enter-Taste automatisch ab.

      ich verwende folgenden button, aber im IE passiert eim ENTER-druecken nichts..
      <input type="button" name="button" value=" OK " onclick="testEncode(this.form)">

      kann das damit zusammenhaengen, dass es sich NICHT um einen utton vom type submit handelt?

      1. Tach,

        kann das damit zusammenhaengen, dass es sich NICHT um einen utton vom type submit handelt?

        deswegen schrieb ich vollständiges Formular, für mich impliziert das einen submit-Button, auch die JavaScript-Methode submit erfordert diesen.

        mfg
        Woodfighter

        1. sorry fuer dumm fragen, aber es klappt trotz des scriptes noch nicht! hier mal die relevanten teile des quelltexts! hoechstwahrscheinlich habe ich den script falsch eingebunden!

          <html>
          <head>
          <title>Passworteingabe</title>

          <!----------------------------!!!!!!!!!!------------->
          <script type="text/javascript">
          function tastatur(){
            var taste = event.keyCode
            if (taste == 13)
            document.anmeldung.submit(); }
          </script>
          <!----------------------------!!!!!!!!!!------------->

          <script type="text/javascript">
            function testEncode(form) {
            var dater = new Date();
            Day = dater.getDate();
            dater = null;
            var Ret = encode (form.pwd.value, 12)
            location.href = Ret + ".htm"
            }
            function encode (OrigString, CipherVal) {
            Ref="0123456789abcdefghijklmnopqrstuvwxyz~"
            CipherVal = parseInt(CipherVal)
            var Temp=""
            for (Count=0; Count < OrigString.length; Count++) {
            var TempChar = OrigString.substring (Count, Count+1)
            var Conv = cton(TempChar)
            var Cipher=Conv^CipherVal
            Cipher=ntoc(Cipher)
            Temp += Cipher
            }
            return (Temp)
            }
            function cton (Char) {
            return (Ref.indexOf(Char));
            }
            function ntoc (Val) {
            return (Ref.substring(Val, Val+1))
            }
          </script>

          </head>

          <body style="background-image:url(image/bg-main.gif); cursor:crosshair;">
          <form name="testform" onsubmit="return(false)">
          <input type="password" name="pwd" value="">
          <input type="submit" name="button" value=" OK " onclick="testEncode(this.form)">
          </form>
          </body>
          </html>

          1. JULIAN,

            <!----------------------------!!!!!!!!!!------------->

            „Ein häufiger Fehler ist es, in einen Kommentar eine Kette von Bindestrichen (»---«) einzuschließen. Autoren sollten vermeiden, zwei oder mehr aufeinanderfolgende Bindestriche innerhalb von Kommentaren zu schreiben.“ [HTML401 §3.2.4]

            Live long and prosper,
            Gunnar

            --
            „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
          2. moin JULIAN :)

            hoechstwahrscheinlich habe ich den script falsch eingebunden!

            Du hast es gar nicht eingebunden ;) daran wirds liegen...

            Probier mal das:
            <form name="testform" onsubmit="return(false)" onkeydown="tastatur()">

            Btw:
            1. hat es einen tieferen Sinn, dass das Formular "testform" heisst, du aber versuchst ein Formular namens "anmeldung" zu submiten?
            2. Du hastbestimmt ganz ganz gute Gründe dafür, dass die Seite nur unter IE benutzbar sein soll - nicht wahr? ;)

            liebe Grüße aus Berlin
            lina-

            --
            Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
          3. Tach,

            sorry fuer dumm fragen, aber es klappt trotz des scriptes noch nicht! hier mal die relevanten teile des quelltexts! hoechstwahrscheinlich habe ich den script falsch eingebunden!

            du hast erst einmal ein grundlegenderes Problem, dein "Paßwortschutz" ist ziemlich schwach, für einen sinnvollen Zugriffsschutz ist bspw. .htaccess Zugriffskontrolle eine sinnvollere Wahl.

            mfg
            Woodfighter

          4. Hi,

            <form name="testform" onsubmit="return(false)">
            <input type="submit" name="button" value=" OK " onclick="testEncode(this.form)">

            Das macht doch nun wirklich keinen anderen Sinn, als Besucher ohne Javascript auszusperren.
            Warum nicht einfach
            <form name="testform" action="fehlermeldung.html" onsubmit="return testEncode(this.form)">
            <input type="submit" name="button" value=" OK ">

            Auch das hilft Besuchern ohne Javascript zwar nicht wirklich weiter, aber sie können wenigstens eine Erklärung bekommen.

            Abgesehen davon: wozu überhaupt dieses sinnlose Javascript-Login? Du könntest genauso gut den berechtigten Besuchern die URL Deiner so "geschützten" Seite mitteilen.

            Schau' Dir mal http://academy.dyndns.org/ an und probier selbst mal aus, wie weit Du hier kommst..;-) Erst beim LEVEL 14 wurde es mir zu aufwendig.

            freundliche Grüße
            Ingo

  2. Hi,

    spricht etwas dagegen, einen submit-Button zu verwenden und so das Formular auch für uralt-Browser nutzbar zu machen? Wenn ja, dann schau' Dir einfach mal die Eventhandler im Javascript-Kapitel an.

    freundliche Grüße
    Ingo

  3. Klappt bei IE:

    function tastatur(){
      var taste = event.keyCode
      if (taste == 13)
      document.anmeldung.submit();
    }

    1. function tastatur(){
        var taste = event.keyCode
        if (taste == 13)
        document.anmeldung.submit();
      }

      auch das erfordert einen Submit button, oder?

      1. Hallo,

        auch das erfordert einen Submit button, oder?

        nein:

        ~~~html

        <input type="text" name="q" onkeyup="doit()" />

          
          ~~~javascript
          
          function doit()  
            {  
              [keycode prüfen]  
              deineencodefunction();  
              document.formular.submit;  
            }  
          
        

        gruss

        --
        no strict;
        no warnings;
        79.78 cups of Coffee (Brewed) + Me = Death
        <exal> BEI MIR KOMMT IMMER DIE EINS STATT EINEM AUSRUFEZEICHEN111 (http://german-bash.org/3361)
        1. ~~~html

          <input type="text" name="q" onkeyup="doit()" />

          
          >   ~~~javascript
            
          
          >   function doit()  
          >     {  
          >       [keycode prüfen]  
          >       deineencodefunction();  
          >       document.formular.submit;  
          >     }  
          >   
          
          

          Aha.  Interessant.  Und welchen Sinn hat das?

          Die gängigen Browser senden das Formular selbstständig ab, wenn der Anwender in einem einzeiligen Texteingabefeld die Eingabetaste drückt.

          Eine sinnvolle Lösung, die mit einem onsubmit-Handler arbeitet, wurde bereits gepostet.

          Mathias

          1. Aha.  Interessant.  Und welchen Sinn hat das?

            Die gängigen Browser senden das Formular selbstständig ab, wenn der Anwender in einem einzeiligen Texteingabefeld die Eingabetaste drückt.

            Eine sinnvolle Lösung, die mit einem onsubmit-Handler arbeitet, wurde bereits gepostet.

            jetzt wo du es sagst, fällt es mir wie Schnupfen von den Augen :/

            gruss

            --
            no strict;
            no warnings;
            79.78 cups of Coffee (Brewed) + Me = Death
            <exal> BEI MIR KOMMT IMMER DIE EINS STATT EINEM AUSRUFEZEICHEN111 (http://german-bash.org/3361)
      2. function tastatur(){
          var taste = event.keyCode
          if (taste == 13)
          document.anmeldung.submit();
        }

        auch das erfordert einen Submit button, oder?

        Nein!
        Den Submit erledigst Du doch mit dem Javascript. Ein einfacher Anker reicht.