[PHP] Eingabefeld nicht mit Enter absenden, sonder nur durch Submit-Button

Dieses Thema im Forum "Webentwicklung" wurde erstellt von joker.org, 8. Juni 2010 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 8. Juni 2010
    Eingabefeld nicht mit Enter absenden, sonder nur durch Submit-Button

    Hallo Leute,

    ich habe ein kleines Problem.
    Ich habe eine Checkbox und ein Kommentarfeld (Eingabefeld) und darunter einen Eingabebutton (submit)....
    Das ganze funktioniert auch einwandfrei und wir in der Datenbank gespeichert, jedoch wird auch bei einem Klick auf "Enter" das Formular abgeschickt.

    Wie kann man das verhindern? Ich möchte nur ein Absenden nach Drücken des Buttons nicht durch die Enter-Taste.

    Ich hoffe ihr könnt mir helfen.

    Und noch eine kleine andere Frage: Sobald ich die Daten abgeschickt habe, habe ich eine Bestätigungsmeldung programmiert (auf die das Formular verweist: form action="bla.php") und dort erscheint "alles hat perfekt funktioniert!".
    Sobald ich jetzt im Browser auf zurück klicke werde ich gefragt ob ich die Daten nochmals senden will (eine Browsermeldung)...
    Wie kann man diese Meldung umgehen bzw. abstellen??
    Es sollen dann auf der vorherigen Seite (beim Formular) die eingegeben Daten erscheinen...

    Wie funktioniert das ??

    Danke.

    Gruß joker.org
     
  2. 8. Juni 2010
    AW: Eingabefeld nicht mit Enter absenden, sonder nur durch Submit-Button

    HTML:
    <input type="text" name="email" onChange="if(window.event.keyCode == 13) return false;" />
    <!-- onChange="if(window.event.keyCode == 13) alert('Du sollst nicht mit Enter senden');" -->
    
    <input type="submit" value="Senden" />
    Nicht getestet

    Quellen:

    Javascript Tips - Event Key Codes

    Trigger a button click with JavaScript on the Enter key in a text box - Stack Overflow

    5 Minuten Google
     
  3. 8. Juni 2010
    AW: Eingabefeld nicht mit Enter absenden, sonder nur durch Submit-Button

    zu deinem 2. problem:
    kann es sein, dass du history.back(); verwendest.
    verlinke ganz normal zu deiner datei.
     
  4. 8. Juni 2010
    AW: Eingabefeld nicht mit Enter absenden, sonder nur durch Submit-Button

    Hi,
    ja das funktioniert leider nicht...
    Kann immernoch mit Enter bestätigen und absenden...

    Sonst jemand eine Idee?
     
  5. 8. Juni 2010
    AW: Eingabefeld nicht mit Enter absenden, sonder nur durch Submit-Button

    onsubmit abfangen und nur bei onklick aufn enterbutton das formular verarbeiten.

    HTML:
    <html>
     <head>
     <script type="text/javascript">
     function send_form() {
     alert('richtig so!');
     // document.getElementById("myform").submit(); // etc
     }
     </script>
     </head>
     <body>
     <form id="myform" onsubmit="alert('so nicht!'); return false;" action="dahin.php" method="post">
     <input type="text" name="asdf" size="40" />
     <input type="button" value="Senden" onclick="send_form();" />
     </form>
     </body>
    </html>
    zum zweiten problem: entweder nach absenden via php wieder zum referer leiten oder daten via get/ajax übertragen.
     
  6. 8. Juni 2010
    AW: Eingabefeld nicht mit Enter absenden, sonder nur durch Submit-Button

    Hi,

    @ murdoc: Das ganze funktioniert soweit gut, dass die Meldung kommt, aber wie kann ich dann das Dokument absenden?? Muss ich dafür deinen Kommentar wieder einblenden?

    Danke.
     
  7. 8. Juni 2010
    AW: Eingabefeld nicht mit Enter absenden, sonder nur durch Submit-Button

    Jup einfach so:

    HTML:
    <html>
    <head>
    <script type="text/javascript">
    function send_form() {
    document.getElementById("myform").submit();
    }
    </script>
    </head>
    <body>
    <form id="myform" onsubmit="return false;" action="dahin.php" method="post">
    <input type="text" name="asdf" size="40" />
    <input type="button" value="Senden" onclick="send_form();" />
    </form>
    </body>
    </html>
    
     
  8. 8. Juni 2010
    AW: Eingabefeld nicht mit Enter absenden, sonder nur durch Submit-Button

    Und das mit dem Referer weiterleiten??

    Wo muss ich das einbinden bzw. einbauen im PHP-Script?

    Danke.
     
  9. 8. Juni 2010
    AW: Eingabefeld nicht mit Enter absenden, sonder nur durch Submit-Button

    du versendest doch zu bla.php. dort machst du deine sachen.
    am ende einfach ein bischen html

    Code:
    vielen dank ... 
    <a href="alb.php">zurück</a>
    
    das meine ich mit einer normalen verlinkung.

    php hat meines wissen kein history back, das ist JS.
     
  10. 10. Juli 2010
    AW: Eingabefeld nicht mit Enter absenden, sonder nur durch Submit-Button

    Hi,
    ich habe das Problem nun wie oben gelöst und das funktioniert einwandfrei.

    Danke euch allen.

    Gruß joker.org
     
  11. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.