返回false不在表单提交中工作

时间:2013-03-29 14:10:46

标签: javascript jquery ajax forms submit

这就是我所拥有的,表格仍然在页面上?我从凌晨1点起就试图解决它!救命啊!

function del_entry() {
    $('.delete_deal').submit(function() {
        var $g = $(this);                             
        $.ajax({
            url: $g.attr('action'),
            type: $g.attr('method'),
            data: $g.serializeArray(),
            cache: false,
        });
    }); 
    return false;
}; //end del_entry

以我的形式:

<form name="delete_deal" action="inactivate_deal.php" class="delete_deal" method="post">
<a href="#" class="button" onClick="$('#deal_div_id').fadeOut(); del_entry();">Delete</a></form>

4 个答案:

答案 0 :(得分:0)

您需要从false函数返回submit()

function del_entry(){
    $('.delete_deal').submit(function(){
        var $g = $(this);                             
                 $.ajax({
                 url: $g.attr('action'),
     type: $g.attr('method'),
             ta: $g.serializeArray(),
    cache: false,
           });
    return false;
    }); 
}; //end del_entry

您还需要阻止浏览器的默认行为开始使用锚元素。

答案 1 :(得分:0)

只需将return false;一行放在...... ;)

之上

答案 2 :(得分:0)

function del_entry(){
$('.delete_deal').submit(function(){
    var $g = $(this);                             
             $.ajax({
             url: $g.attr('action'),
     type: $g.attr('method'),
             ta: $g.serializeArray(),
    cache: false,
           });

         return false; // <----------------- ADD HERE

}); 

}; //end del_entry

答案 3 :(得分:0)

由于您从HTML中调用del_entry()函数,因此您只需执行此操作:

function del_entry() 
{
    var $g = $('.delete_deal');

    $.ajax({
        url: $g.attr('action'),
        type: $g.attr('method'),
        ta: $g.serializeArray(),
        cache: false
    });
}