我打开一个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