Formular mit Verzögerung bei der Dateneingabe in das Eingabefeld senden

8

Ich habe ein einfaches Formular, das ich automatisch einreichen muss, wenn Text eingegeben wird.

Ich kann onChange oder onKeyUp ohne das beste Ergebnis verwenden.

HTML ist:

%Vor%

Und jQuery

%Vor%

Dies wird jedes Mal eingegeben, wenn ein Zeichen eingegeben wird. Ich hätte es lieber so  - Es gab eine Verzögerung vor dem Senden, damit Sie Ihre Eingabe beenden können  - Dieser Fokus bleibt auf dem Eingabefeld stehen und kann nach dem Senden (wenn neu geladen)

eingegeben werden

Gibt es eine Möglichkeit, ein form.submit () zu verzögern, damit der Benutzer die Eingabe beenden kann, bevor das Formular abgeschickt wird?

(UPDATE, um eine "jQuery" Art zu übermitteln)

Br. Anders

    
Tillebeck 05.01.2010, 15:11
quelle

2 Antworten

14

Das sollte funktionieren. Übergibt das Formular, wenn für 500ms nichts eingegeben wurde

%Vor%     
jitter 05.01.2010, 15:41
quelle
5

Das ist eine schlechte Idee. Sie möchten die Steuerelemente nicht umgehen, die Benutzer auf Formulareingaben erwarten. Wenn Sie keine Absenden-Schaltfläche haben wollen, warten Sie mindestens bis Sie eine "Enter" -Erfassung erfassen.

Anders als bei einem Benutzer, der das Lesegerät liest Wie können Sie jemals wissen, wann ein Benutzer mit der Eingabe fertig ist, es sei denn, Sie suchen nach "return" oder "enter"? Benutzer werden nicht wissen, dass sie einen Moment anhalten sollen, damit das Formular zur Zeitüberschreitung gesendet wird, oder dass sie sich beeilen müssen, um ihre Suche vor dem Timeout von 500 ms einzugeben.

Siehe: diese Frage

Wenn Sie sofort nach jeder Einreichung mit der Rückgabe von Ergebnissen beginnen möchten, können Sie eine automatische Ajax-Vervollständigung durchführen.

automatische Vervollständigung http://img9.imageshack.us/img9/5526/autocompletegoogle.png

Hier ist ein jQuery-Beispiel zum Senden einer Eingabe:

%Vor%     
jjclarkson 05.01.2010 15:28
quelle

Tags und Links