当使用button
时,这工作正常(加载器显示,直到加载页面):
<script>
$(document).ready(function(){
$(".loader").hide();
$(".overlay").fadeOut(1000);
$('button').click(function() {
$(".loader").fadeIn("fast");
$(".overlay").fadeIn(100);
});
});
</script>
但如果我使用Submit
则不会:
我正在尝试以下工作:
<script>
$(document).ready(function(){
$(".loader").hide();
$(".overlay").fadeOut(1000);
$("form").submit(function() {
$(".loader").fadeIn("fast");
$(".overlay").fadeIn(100);
});
});
</script>
我也没有高兴地尝试过:
$(input[type="submit"]).click(function() {
我希望它适用于页面上的所有提交,因此不想使用ID。任何指针都非常受欢迎。
更新
$("form").submit(function(e) {
做了这个伎俩。
答案 0 :(得分:3)
您必须阻止表单的默认行为,否则它将提交(并且浏览器将更改为下一页[表单中的操作])。
要停用submit
操作,您需要在event.preventDefault()
功能中使用submit/click
。
如果您确实需要提交表单 - 您可以添加一个变量来检查提交是否已被阻止,并根据这一点来阻止(或在submit
函数中提交表单):
var submitPrevented = false;
$("form").submit(function(e) {
if (!submitPrevented) {
submitPrevented = true;
e.preventDefault()
}
$(".loader").fadeIn("fast");
$(".overlay").fadeIn(100);
var that = this;
setTimeout(function() {
that.submit();
}, 1000);
});
请注意,我将
e
元素作为参数添加到函数中。
关于您编写的最后一个代码 - 那里存在语法错误。这是正确的语法:
$('input[type="submit"]').click(function() {