Javascript JS/AJAX:提交时不刷新或在输入后不触发按钮单击
js函数在我的中不起作用,但当我在中尝试它时,它显示工作正常。我已经包括了Javascript JS/AJAX:提交时不刷新或在输入后不触发按钮单击,javascript,jquery,ajax,Javascript,Jquery,Ajax,js函数在我的中不起作用,但当我在中尝试它时,它显示工作正常。我已经包括了DOMready,但它不会触发任何东西。我用firefox检查了一下,输入值根本没有发布。在用户停止键入后,如何让JS函数正常启动 JS <script> $(document).ready(function() { var timer = null; var dataString; function submitForm(){ alert("success"); $.ajax({ t
DOM
ready,但它不会触发任何东西。我用firefox检查了一下,输入值根本没有发布。在用户停止键入后,如何让JS函数正常启动
JS
<script>
$(document).ready(function() {
var timer = null;
var dataString;
function submitForm(){
alert("success");
$.ajax({ type: "POST",
url: "index.php",
data: dataString,
success: function(result){
alert("success");
/*$('#special').append('<p>' + $('#resultval', result).html() + '</p>');*/
}
});
return false;
}
$('#submit').on('keyup', function() {
clearTimeout(timer);
timer = setTimeout(submitForm, 2000);
var name = $("#name").val();
dataString = 'name='+ name;
});
});
</script>
$(文档).ready(函数(){
var定时器=null;
var数据串;
函数submitForm(){
警惕(“成功”);
$.ajax({type:“POST”,
url:“index.php”,
数据:dataString,
成功:功能(结果){
警惕(“成功”);
/*$(“#特殊”).append(“”+$(“#resultval”,result.html()+”)*/
}
});
返回false;
}
$('#submit')。在('keyup',function()上{
清除超时(计时器);
定时器=设置超时(submitForm,2000);
var name=$(“#name”).val();
数据字符串='名称='+名称;
});
});
HTML
<input id="name" name="name" type="text" class="field text medium" value="<? $url ?>" maxlength="255" tabindex="1" />
问题在于,在上面的HTML中,您有id=“name”
,但绑定到“#submit”
您的JSFIDLE示例中有id=“submit”
,这就是它工作的原因。在您的站点上,我找不到id为“submit”的元素,因此$('#submit')
返回空。使用console.log()查看代码有什么问题。您尝试过设置失败回调吗?如果是这样的话,错误是什么?我以为它被绑定到了正确的对象。非常感谢。