2009-05-16 2 views
0

Ich habe ein Textfeld in meiner Seite, die der Benutzer etwas eingeben wird, um zu übermitteln. Ich möchte jedoch keinen Absenden-Button haben, stattdessen möchte ich auf die Enter-Taste drücken, um sie zu senden.Sumbit Formular mit der Eingabetaste und suchen Sie nach dem Cursor

Die Sache ist, es wird einige Textfelder in dieser Seite geben und ich möchte nur das Textfeld einreichen, in das gerade getippt worden ist.

Ich weiß, wie man herausfinden kann, welche Taste mit jquery gedrückt wurde, aber ich denke in meinem Szenario muss ich sehen, ob der Cursor in einem bestimmten Textfeld war. Ist das richtig? Wenn ja, wie wird dies mit jquery erreicht? Im Allgemeinen ist mein Ansatz in Ordnung? oder sollte ich definitiv einen Submit Button haben?

kem ...

Antwort

1

Bitte beachten Sie, dass dies als schlechte Praxis angesehen wird; Sie werden die Einreichung nicht nur auf Personen beschränken, für die JS aktiviert ist. Die Benutzer erwarten eine Schaltfläche zum Senden an ihre Formulare. So funktioniert das Web. Die ordnungsgemäße Weg dies zu tun ist, um ein Formular für jeden Ihrer Textfelder haben.

aber sagen, dass, wenn Sie eine Reihe von Textfeldern hatte:

<input type='text' name='x1' class='onenter'> 
<input type='text' name='x2' class='onenter'> 
<input type='text' name='x3' class='onenter'> 

Sie können dies tun mit jQuery:

$(function() { 
    $('input.onenter').keyup(function(e) { 
     if(e.keyCode == 13) { 
      // enter was pressed, do whatever 
      // $(this) is the current textbox 
     } 
    }); 
}); 

„was auch immer“ könnte eine asynchrone Anforderung oder eine tatsächliche Form Einreichung, abhängig von Ihren Bedürfnissen.

+0

danke .. Ihre Antwort hat mir meine Meinung über mein Paradoxon klar gemacht und auch Sie haben ein Beispiel gegeben, wie es geht. –

Verwandte Themen