无法防止违约

时间:2013-10-28 16:59:03

标签: jquery

$('#save').click(function(e){
    //alert('hi');
    e.preventDefault();     
    $.ajax({
        type: "POST",
        url:"/customerdetails/" + $('#company_name').val().replace(/ /g,'_')  + "/",
        dataType: 'json',
        data: {'customer':$('#company_name').val()},
        success: function(data){
            //alert($('#company_name').val());  
            //alert('f');
            //alert(data.tag);
            if(data.tag){
                alert("Company with the same name already exists.");
                $('#company_name').val('');  
                return true;
            }
        }
        //return false;
    });//end of submit
    //return false;
});

我正在使用上面的代码,但无论我想要什么,以防止默认但不工作。请帮帮我

2 个答案:

答案 0 :(得分:0)

我不确定你需要什么,但......我会试一试......

删除e.preventDefault();

return true;更改为return false;或将其删除。

删除//return false;

上的评论

将活动从click更改为submit

最终代码将是这样的

$('FORM ID').on('submit', function(e) {
    $.ajax({
        type: "POST",
        url: "/customerdetails/" + $('#company_name').val().replace(/ /g,'_')  + "/",
        dataType: 'json',
        data: {'customer':$('#company_name').val()},
        success: 
            function(data) {
                     if(data.tag) {
                        alert("Company with the same name already exists.");
                        $('#company_name').val('');  
                        // return false;
                     }
                }
            });
        return false;
});

答案 1 :(得分:0)

在阻止默认操作后,您需要手动重定向用户,因为您已从元素中删除了默认事件处理程序。

$('#save').click(function(e) {
    $.ajax({
        type: "POST",
        url: "/customerdetails/" + $('#company_name').val().replace(/ /g,'_')  + "/",
        dataType: 'json',
        data: {'customer':$('#company_name').val()},
        success: 
            function(data) {
                     if(data.tag) {
                        alert("Company with the same name already exists.");
                        $('#company_name').val('');  
                        // return false;
                     }
                     else {
                        // do something here
                        window.location = "http://www.example.com"
                     }
                }
            });
});