-2

我在将表单连接到超时数组时遇到问题。我希望它超时 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");
});
4

1 回答 1

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>. 所以,既然你有一个带有nameas的表单,thisform你需要使用一个选择器 like $('form[name="thisform"]')。希望你能明白。

于 2013-03-03T15:06:37.603 回答