代码之家  ›  专栏  ›  技术社区  ›  bradenkeith

提交表单时$.get有问题

  •  0
  • bradenkeith  · 技术社区  · 14 年前

    我正在尝试验证,一旦用户填写表单,帐户名就不会被使用。代码如下:

        $("#add_account").submit( function () { 
                $.get(
                    "'.url::site("ajax/check_account_name").'", 
                {account_name: "t"}, 
                function(data){ 
                    alert( data ); 
                }); 
            });
    

    我得到一个$。如果语句如下:

        $(document).ready( function () { 
                $.get(
                    "'.url::site("ajax/check_account_name").'", 
                {account_name: "t"}, 
                function(data){ 
                    alert( data ); 
                }); 
            });
    

    这使我相信我的$.get语句是正确的。是否有一些我不熟悉的jquery规则会导致提交时失败?

    在代码块1中,我得到了应该返回的值。块2给出了一个空白的响应。

    有什么想法吗?谢谢你的时间,我知道你有更好的事情要做。

    1 回复  |  直到 14 年前
        1
  •  1
  •   Andrew Anderson    14 年前

    javascript处理程序在您单击的默认操作之前触发。因此,如果表单的submit按钮附加了$.get语句,那么$.get语句将在通过浏览器方法提交表单之前触发。

    要取消此操作,应包括 return false; 在单击处理程序的末尾取消默认操作,如j-p所示。这也适用于链接。