延迟表单提交

时间:2015-09-11 13:16:28

标签: javascript php html

我想将下面表格的帖子延迟3秒钟,然后弹出一张图片。

<form id="test" name="test" method="post" action="">
     <input type="hidden" name="inp1" method="post" value="<?php echo $var1 - $var2; ?>">
      <input type="hidden" name="inp2" method="post" value="<?php echo $var3 - $var4; ?>">
      <input type="hidden" name="inp3" method="post" value="">
      <input type="submit" name="inp4" value="Test" />
</form>

我正在尝试让延迟部分首先运行,并尝试在Javascript文件的HTML头部分中使用php

$('test').submit(function (e) {
    var form = this;
    e.preventDefault();
    setTimeout(function () {
        form.submit();
    }, 30000); // in milliseconds
});

目前这没有任何延迟。有任何想法吗?

2 个答案:

答案 0 :(得分:4)

您忘了添加#和$(&#34; #test&#34;)

$('#test').submit(function (e) {
    var form = this;
    e.preventDefault();
    setTimeout(function () {
        form.submit();
    }, 3000); // in milliseconds
});

Demo

答案 1 :(得分:2)

我会稍微改变一下,而不是使用提交按钮我会将其更改为常规按钮并传递按钮中的表单。您根本不需要提交按钮。

<input type="button" name="inp4" value="Test" onclick="myfunction(form)" />

然后是函数

  function myfunction(form) {
        setTimeout(function() {
            form.submit();
        },30000);
  }

应该做的伎俩。不需要jQuery