我遇到了将表单连接到超时数组的问题。我希望它超时5000毫秒并在提交之前显示DELAY。
HTML
<form name="thisform" action="" method="get" onsubmit="window.open('http://www.mydomain.com/'+document.thisform.url.value,'_self');return false;">
<input name="url" type="text" />
<input name="submit" type="submit" value="Go!" />
</form>
的Javascript
$('thisform').submit(function (e) {
var form = this;
e.preventDefault();
setTimeout(function () {
form.submit();
}, 1000); // in milliseconds
$("<p>Delay...</p>").appendTo("body");
});
答案 0 :(得分:2)
将$('thisform')
更改为$('form[name="thisform"]')
。您的最终代码应如下所示:
$('form[name="thisform"]').submit(function (e) {
var form = this;
e.preventDefault();
setTimeout(function () {
form.submit();
}, 1000); // in milliseconds
$("<p>Delay...</p>").appendTo("body");
});
<强>解释强>
选择器$('thisform')
将选择<thisform>
之类的任何标记。因此,由于您有一个name
为thisform
的表单,因此您需要使用$('form[name="thisform"]')
之类的选择器。希望你明白。