我有一個簡單的表單,當用戶在輸入字段上按下回車鍵時,我想提交一個簡單的表單(即火ajax)。如果我按提交按鈕,事件觸發正常,但是當使用鍵控來觸發完全相同的功能時,輸入字段的值爲空。我嘗試使用$(this).val()傳遞輸入字段的值(來自keyup函數),但傳遞的參數仍爲空。jQuery:輸入值在keyup上丟失?
更新II:該問題僅出現在初始加載時。點擊刷新後,事件根據預期開火。經過Chrome和FF測試。
// Value of #pin is blank in getKeyAjax()
$('#pin').keyup(function(e) {
if (e.keyCode == 13) {
console.log('DEBUG: Keypress detected (13)')
getKeyAjax();
}
});
// Value of #pin is correct in getKeyAjax()
$('#btnPwdCreate').click(function() {
getKeyAjax();
});
function getKeyAjax() {
console.log('DEBUG: Starting ... getKeyAjax()');
var txtPin = $('#pin').val();
console.log('DEBUG: Value of txtPin: ' + txtPin);
.
.
.
}
它似乎在這裏正常工作,對不對? (http://jsfiddle.net/swz5c/) – Abraham 2012-07-15 13:43:21
我忘了提及它確實有效,但有時只是(通常不)。這反過來又使得解決問題變得更加困難。儘管如此,我只在Chrome和FF中進行過測試。 – 2012-07-15 13:45:05
嗯,你可以在jsfiddle.net上用你的HTML和JS設置一個小提琴嗎? – Abraham 2012-07-15 13:51:14