ユーザーが入力フィールドでEnter(Return)を押したときに送信したい(つまり、fire ajax)簡単なフォームがあります。送信ボタンを押すとイベントは正常に発生しますが、キーアップを使用してまったく同じ関数を発生させると、入力フィールドの値が空白になります。$(this).val()を使用して(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);
.
.
.
}