我试图延迟提交表单,但只有当我在延迟后触发提交时才会发送表单值。
这是我的HTML
<form id="form_anim" name="form" autocomplete="off" action="index.php" method="POST">
<input name="username" id="username" type="text" placeholder="Nome utente" autofocus required>
<input name="password" id="password" type="password" placeholder="Password" required>
<a href="#">Hai dimenticato la password?</a>
<input id="invio" name="invio" type="submit" value="Accedi">
</form>
这是脚本
$('#form_anim').on('submit', function (event, force) {
if (!force) {
var $this = $(this);
event.preventDefault();
setTimeout(function () {
$this.trigger('submit', true);
}, 2000);
}
});
请帮助我。
答案 0 :(得分:1)
这将有效地提交您的表格。
$('#form_anim').on('submit', function (e) {
var form = this;
setTimeout(function () {
form.submit();
}, 2000);
return false;
});
(顺便说一句,你不需要jQuery,除非你想支持IE8及以下版本)
监控您的网络(通过浏览器检查程序)以查看其运行情况
答案 1 :(得分:-1)
请注意您是否打算提交两次?
{{1}}
答案 2 :(得分:-1)
我建议您使用不带type="submit"
的按钮:
<button id="send">Send</button>
$('#send').on('click', function(event) {
setTimeout(function() {
$('#form_anim').submit();
}, 2000);
});
答案 3 :(得分:-1)
尝试以下代码 它运作顺利
<form onsubmit="return delay('1')" id="form_anim" name="form" autocomplete="off" action="#" method="get">
<input name="username" id="username" type="text" placeholder="Nome utente" autofocus required>
<input name="password" id="password" type="password" placeholder="Password" required>
<a href="#">Hai dimenticato la password?</a>
<input id="invio" name="invio" type="submit" value="Accedi"/>
</form>
的Javascript
<script>
function delay(a){
if(a == 1){
setTimeout(delay(2),2000);
return false;
}
else{
$("#form_anim").submit();
}
}
</script>