0

JQuery検証プラグインを使用しています。私は次の仕様を持っています:'フォームが10秒以内に使用されない場合は、ユーザーに警告を表示します。ユーザーが何もしない場合は、とにかく送信します。

タイマーなどの他に、フォームを送信するための次のコードがあります。

timeoutId = setTimeout(function() {

$("#session_expired").val("true");
$("form:first").validate({
                    onsubmit: false
                });
$("form:first").submit();
}, 10000);

内容:特定の非表示フィールド値を設定してから、フォームを送信します。この場合に検証されないことを確認するために、validate関数を追加しました。あなたはそれを推測したかもしれませんが、それは機能しません。

誰か手がかりはありますか?

ミシェル

4

2 に答える 2

1

送信には、jQueryの送信メソッドの代わりにDOMメソッドを直接使用してみてください。

交換

$("form:first").submit();

と:

document.forms[0].submit();

私の推測はそれです:

$("form:first").validate({ onsubmit: false });

フォームが送信ボタンを押して送信された場合にのみ適用されます。

于 2009-11-12T12:49:05.670 に答える
0

関数の各部分を削除してから、関数のどの部分が失敗しているかがわかるまでテストします。また、firebugとconsole.logを使用して、関数内で何が起こっているかを追跡します。例えば

timeoutId = setTimeout(function() {
console.log('timeout')
}, 10000);
于 2009-11-12T10:27:16.310 に答える