我打開一個jQuery對話框內的JavaScript代碼,它會打開非常好,這個對話框的內容是一種形式,這種形式的一個輸入是:如何運行一個jQuery對話框
<input onkeyup="testOnKeyUp();" type="text" name="userName" id="userName">
這裏是哪裏出現我的問題,這是假設當有人在這個輸入中鍵入一個鍵時,下面的代碼被激活並應該運行,但它不起作用。
var validateUserNameSpan = $j('#userNameSpan');
function testOnKeyUp(){
validate(this, validateUserNameSpan, 'username');
}
function validate(field, span, property) {
if (field.value != field.lastValue) {
if (field.timer) clearTimeout(field.timer);
field.timer = setTimeout(function() {
span.value = "";
span.removeClass('error').html('checking ...');
$j.ajax({
url: '/signup/'+property,
data: property + '=' + field.value,
dataType: 'json',
type: 'post',
success: function (json) {
updateMessage(span, json.success, json.message);
if(property=="email"){
emailValid = true;
}else if(property=="username"){
userNameValid = true;
}
},
error: function() {
ajFailureInitSignup(span);
if(property=="email"){
emailValid = false;
}else if(property=="username"){
userNameValid = false;
}
}
});
}, 400);
if(userNameValid && emailValid) document.getElementById('buttonLink').onclick=null ;
field.lastValue = field.value;
}
}
我在做什麼錯?
我不知道,但谷歌上搜索我已經得到了信息,讓我覺得:沒有被執行
$j.ajax({
說我這個對話框內運行(確認功能),爲什麼我比如說 ?因爲這個對話框是在DOM中創建的,並且在創建之後這個$ j.ajax不會被執行。
這是真的嗎?
我真的很感謝任何幫助。
你實際上是否將testonKeyup函數附加到彈出窗體的輸入? –
是的,我確實如果我在函數testOnKeyUp()中放置一個警告消息;顯示警告,這意味着當用戶編寫一個密鑰的過程中工作正常,直到這個函數,問題看起來好像是在validate()函數 – Saymon