来自jquery / ajax的意外结果

时间:2014-01-16 17:13:39

标签: javascript ajax jquery

我使用jquery / ajax在提交之前修改html表单。我的代码有问题所以我添加了一些警报行来帮助我调试。当我的代码不包含警报行时,它不起作用。当我的代码包含警报行时,它确实有效。我无法理解警报框影响我的代码功能的任何理由,所以如果有人能告诉我什么时候我错过了那将是非常棒的。我希望这是一个简单的我可以忽略的东西。代码snippits在下面。

工作:

<script type="text/javascript">
            $(document).ready(function(){
                $("#clientName").autocomplete({source: '../Controller/clientAutoComplete.php', minLength:3});   
            });
            function update(){
                alert("in update");
                $.get('../Controller/clientidGrab.php', {term: $("#clientName").val()}, function(data){
                    alert("in get");
                    alert($("#clientName").val());
                    var changed = data[0].id;
                    $("#clientID").val(changed);
                }
                , "json");
            }


    </script>

不工作:

<script type="text/javascript">
            $(document).ready(function(){
                $("#clientName").autocomplete({source: '../Controller/clientAutoComplete.php', minLength:3});   
            });
            function update(){
                $.get('../Controller/clientidGrab.php', {term: $("#clientName").val()}, function(data){
                    var changed = data[0].id;
                    $("#clientID").val(changed);
                }
                , "json");
            }


    </script>

修改

我进一步缩小了范围。如果包含行alert("In update");,页面将正常运行。其他2条警戒线似乎并不重要。

1 个答案:

答案 0 :(得分:0)

从输入中删除onchange。 在$(document).ready此代码中添加:

$('#clientName').on('change', function(){
    update();
});