提交链接不是函数的ajax表单

时间:2013-03-26 02:37:34

标签: jquery

我尝试使用链接提交表单,但ajax不是函数:

<form id="store_relation" action="store_relation.php" method="post" name="store_relation" >
        <input type="hidden" name="store_id" value="<?php echo $row['store_id']; ?>" />
        <input type="hidden" name="user_id" value="<?php echo $row['id']; ?>" />
</form>
<li class="online_users"><a id="online_form"><?php echo $row['username']; ?></a></li>

<script type='text/javascript' language="javascript">
$(document).ready(function(){
    $('#online_form').click(function(e) {
        e.preventDefault(); // prevent the link's default behaviour
         $('#store_relation').ajaxForm( {
            success: function() { 
            alert('hey');
            } 
        }); 
    });
 }); 
</script>

2 个答案:

答案 0 :(得分:2)

您需要使用ajaxSubmit()代替ajaxForm()。根据{{​​3}}
给ajaxForm

  

通过添加所有内容,准备通过AJAX提交的表单   必要的事件听众。它不提交表格。使用ajaxForm   在您的文档准备好的函数中为AJAX准备表单   提交。 ajaxForm只需要一个或一个参数。单一的论点   可以是回调函数或选项对象。

ajaxSubmit会

  

立即通过AJAX提交表单。在最常见的用例中   这是为响应用户单击提交按钮而调用的   表格。 ajaxSubmit采用零个或一个参数。单一的论点   可以是回调函数或选项对象。

$(document).ready(function(){
    $('#online_form').click(function(e) {
        e.preventDefault(); // prevent the link's default behaviour
         $('#store_relation').ajaxSubmit( {
            success: function() { 
            alert('hey');
            } 
        }); 
    });
 }); 

答案 1 :(得分:0)

ajaxForm()不提交表单,也不提交链接。 De API @ http://jquery.malsup.com/form/#api

  

通过添加所有必要的事件监听器,准备通过AJAX提交的表单。它不提交表格。

因此,您的价值观永远不会被提交,因此您永远不会进入“成功”状态。

您需要自己提交表单,或使用提交按钮代替链接。请注意,并非所有浏览器都接受<a>而没有href