我编写了以下脚本来延迟提交表单:
$(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