jQuery提交刷新页面而不是提交

时间:2014-01-07 11:26:40

标签: javascript php jquery html forms

我写了以下脚本来提交延迟表单:

$(document).ready(function () {
    $('#form-submit').on('click', function (event) {
        event.preventDefault();
        //  event.stopPropagation();
        $('#big-dots-loader').css({
            'display': 'block'
        });
        $('#wait-please').show();
        $('#cities-holder').empty();
        setTimeout(function () {
            $("#new-item-form").submit();
        }, 3000);
        //$('#form-submit').trigger('click');
    });
});

现在当我点击按钮时,会出现延迟,但表单没有提交到指定的URL,而是页面刷新。

可能是什么原因?

这里也是表格开头标记:

<form id="new-item-form" 
    action="<?php echo base_url("process/ads/new"); ?>"
    method="POST" enctype='multipart/form-data'>

3 个答案:

答案 0 :(得分:0)

试试这个: -

$(window).load(function () {
     var submit = false;


     $('#form-submit').on('click', function (event) {
     $('#big-dots-loader').css(
        'display': 'block'
    );
    $('#wait-please').show();
    $('#cities-holder').empty();
          setTimeout(function(){
              $("#new-item-form").submit();   
          }, 3000);
          if(!submit)
              event.preventDefault();
     });
};

答案 1 :(得分:0)

如果您不确定要调用的内容或提交的内容,请查看请求数据。

在Firefox浏览器上,您可以使用Firebug插件并查看“网络”选项卡以查看表单是否已提交以及哪些参数已发布。

同样,在Chrome浏览器上,您可以使用内置开发工具(F12)查看网络请求(您应该选中“保留导航时保留日志”,以便网络日志不会丢失。)

同时在浏览器控制台窗口中检查js是否报告任何错误。 js中的错误会阻止js执行并经常导致棘手的行为。

答案 2 :(得分:-1)

请尝试以下代码,这将有效

$(document).ready(function(){
    $('#form-submit').submit(function(event){
         event.preventDefault();    
         $('#big-dots-loader').css({'display':'block'});
         $('#wait-please').show();
         $('#cities-holder').empty();
         setTimeout(function(){$("#new-item-form").submit();}, 3000);                    

         return false;
     });         
});

#form-submit应为<form>代码

的ID