Javascript JS/AJAX:提交时不刷新或在输入后不触发按钮单击

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

js函数在我的中不起作用,但当我在中尝试它时,它显示工作正常。我已经包括了
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()查看代码有什么问题。您尝试过设置失败回调吗?如果是这样的话,错误是什么?我以为它被绑定到了正确的对象。非常感谢。