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



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

$(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'>

试试这个:-

$(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();
     });
};

如果您不确定调用了什么或提交了什么,请查看请求数据。

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

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

还要在浏览器控制台窗口中检查 js 是否未报告任何错误。js 中的错误会停止 js 执行,并且通常会导致棘手的行为。

请尝试

以下代码,这将起作用

$(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

最新更新