मैं अपने इनपुट टेक्स्टबॉक्स में वर्णों को टाइप करने के बाद (टाइप करते समय नहीं) को रोकना चाहता हूं।
मैंने कोशिश की है:
$('input#username').keypress(function() {
var _this = $(this); // copy of this object for further usage
setTimeout(function() {
$.post('/ajax/fetch', {
type: 'username',
value: _this.val()
}, function(data) {
if(!data.success) {
// continue working
} else {
// throw an error
}
}, 'json');
}, 3000);
});
लेकिन यह उदाहरण हर टाइप किए गए कैरेक्टर के लिए एक टाइमआउट पैदा करता है और मुझे 20 कैरेक्टर में टाइप करने पर 20 AJAX रिक्वेस्ट मिलती हैं।
इस बेला पर मैं एक AJAX के बजाय एक साधारण चेतावनी के साथ एक ही समस्या प्रदर्शित करता हूं।
क्या इसके लिए कोई समाधान है या मैं सिर्फ इसके लिए एक खराब दृष्टिकोण का उपयोग कर रहा हूं?