onsubmit() verbieten bzw [enter] taste verbieten ?

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

  • onsubmit() verbieten bzw [enter] taste verbieten ?

    Hi,

    ich habe ein kleines formular! es besteht im endeffekt nur aus einem hiddenfeld, ein textfeld und ein submitbutton.

    allerdings ist der submit button kein <input type="submit" sondern ein <input type="image"

    mein problem ist jetzt das ich ein ajax request senden möchte. aber onclick="" funktioniert leider nicht bei <input type="image" weil durch klick ja das submit ausgelöst wird und somit die seite reloaded wird.

    jetzt habe ich nen normalen <a href="" mit onclick="" versehen, was auch tatellos funktioniert, aber leider funktioniert die [enter] taste nicht.
    wenn jemand z.b. etwas sucht, drückt er automatisch [enter] anstelle auf den button zu klicken und somit ist der ajaxrequest dahin

    jetzt meine frage:
    kann ich submit() irgendwie verbieten ? oder das [enter] deaktivieren ?
    oder evtl. sogar [enter] lauffähig machen ?
    gibt es evtl. ein trick damit <input type="image" doch funktioniert ?

    Danke für antworten

    Sawyer
    Zuletzt geändert von Sawyer28; 16.06.2008, 15:34.

  • #2
    setz beim klick auf den link einen wert für eine variable. das kannst du dann bei onsubmit prüfen und mit return false verhindern, dass das formular abgesendet wird. glaub ich.

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      hm.. wie soll ich das denn machen ??
      um die variable zu setzen muss die seite ja reloaded werden, und das darf ja nicht passieren oder versteh ich dich jetzt falsch ?
      Zuletzt geändert von Sawyer28; 16.06.2008, 15:56.

      Kommentar


      • #4
        um die variable zu setzen muss die seite ja reloaded werden
        nicht bei javascript
        PHP-Code:
        // Pseudocode
        function checkForm (param)
        {
          if (
        == param)
          {
            
        document.form.submit();
          }
          else
          {
            return 
        false;
          }
        }
        <
        a onclick="checkForm(1)">
        <
        form onsubmit="checkForm(0)"
        gruß
        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          achso
          ich dachte du hast jetzt an ne $_POST variable gedacht

          sorry dann hatte ich dich falsch verstanden
          ich gucke mal

          danke für deinen ansatz..

          trotzdem würde ich mich über weitere anregungen bzw infos freuen bezüglich der [enter] taste, wie ich oben schon schrieb


          Sawyer

          Kommentar


          • #6
            du könntest noch den keycode von enter im onSubmit() prüfen, und wenn der kommt, dann eben return false
            it's not a bug,
            it's a feature!

            Kommentar


            • #7
              habe gerade dein lösungsansatz probiert sieht ungefähr so aus:

              <form method="get" action="" onsubmit="checkForm(0)" id="searchform">
              <input type="text" id="q" name="q">
              <a href="#" onclick="checkform(1)">klick</a>
              </form>

              das absenden mit klick funktioniert wie vorher, aber wenn ich [enter] drücke wird noch immer submit ausgelöst und die seite reloaded

              in dem code habe ich nur mein sndReq(); hinzugefügt..

              PHP-Code:
              // Pseudocode
              function checkForm (param)
              {
                if (
              == param)
                {
                  
              sndReq();
                }
                else
                {
                  return 
              false;
                }

              //EDIT
              auch die prüfung von key 13 (enter) schlägt fehl
              die seite wird reloaded

              jemand noch ne idee ?

              Sawyer
              Zuletzt geändert von Sawyer28; 16.06.2008, 16:58.

              Kommentar


              • #8
                k.a. vielleicht spielen die browser da einfach nicht mit. bei einem submit-button geht das imho.

                gruß
                peter
                Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                Meine Seite

                Kommentar


                • #9
                  also ich hab jetzt noch eine variante gefunden..


                  folgendes funktioniert, aber leider nur im IE

                  onkeydown="if(event.keyCode==\'13\') event.keyCode=9;"

                  das wandelt ein [Enter] in ein [Tab]

                  hat jemand noch ne idee ?

                  Sawyer

                  Kommentar


                  • #10
                    schau dir mal das hier an.

                    peter
                    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                    Meine Seite

                    Kommentar


                    • #11
                      hey Kropff,

                      vielen Dank ich denke das kann ich verwenden

                      supi

                      sawyer

                      Kommentar


                      • #12
                        onsubmit="return checkform(0);" hilft!

                        Kropff, du Nase, das musst du wissen

                        Kommentar


                        • #13
                          Kropff, du Nase, das musst du wissen
                          OffTopic:
                          das werde ich NIEEEE lernen. . ja asche auf mein haupt.


                          peter
                          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                          Meine Seite

                          Kommentar

                          Lädt...
                          X