사용자가 입력 필드에서 Enter (return) 키를 누르면 간단한 양식 (예 : 화재 아약스)을 제출하고 싶습니다. 제출 버튼을 누르면 이벤트가 정상적으로 발생하지만 keyup을 사용하여 똑같은 기능을 실행하면 입력 필드의 값이 비어 있습니다. $ (this) .val()을 사용하여 입력 필드 (keyup 함수의 값)를 전달하려고 시도했지만 전달 된 매개 변수는 여전히 비어 있습니다.jQuery : 키 입력시 입력 값이 손실 되었습니까?
업데이트 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
나는 그것이 실제로 효과가 있다고 언급하는 것을 잊어 버렸지 만 때때로 (때로는 그렇지 않은 경우에만). 그 결과 무엇이 잘못되었는지를 훨씬 더 어렵게 만듭니다. 나는 크롬과 FF로만 테스트를 해왔다. –
흠, HTML과 JS로 jsfiddle.net에서 바이올린을 설정할 수 있습니까? – Abraham