私はonsumbit属性を持つフォームを持っています。私はonsumbitでjavascript関数を呼び出しています。 フォームが実際にサブミットする前に、隠し変数にいくつかの値を設定する必要があります。そのビットは、SaveQuery()関数で行われます。私はまた、フォームを提出する同じアクションを行うページ上のリンクを持っています。私はonsubmitを追加して、Enterキーを押したときにフォームが送信されるようにしました。jquery submitは再帰によるエラーを引き起こします
jquery v1.4.4ライブラリを使用すると、フォームが再帰的に送信されるように見えます。それを避けるにはどうしたらいいですか? jquery v1.3.2では、問題はないようです。
フォーム:
<form id="savequery" action="savedquery.aspx" method="post" onsubmit="SaveQuery(); return false;">
<input type="hidden" id="orig_q" name="orig_q" value="" />
<input type="hidden" id="isFullText" name="isFullText" value="" />
<input id="queryName" name="queryName" value="New Query" />
</form>
<table class="centerButton">
<tbody>
<tr>
<td>
<div id="proceedSave" class="butActive idProceed">
<p>
</p>
<div>
<a href="#" onclick="SaveQuery();">Proceed</a></div>
</div>
<!-- duplicate text item -->
</td>
</tr>
</tbody>
</table>
SaveQuery機能:
SaveQuery = function() {
$("#orig_q").val(document.getElementById("txtQuery").value);
$("#isFullText").val(document.getElementById("chkFulltext").checked);
$("#savequery").submit();
}
このリンクをクリックするとフォームはどのように提出されますか? – itsbalur
@itsbalur - フォームには送信ボタンが必要です - 私の意見ではない正当な理由はありません。 –
@itsbalur:メソッドを呼び出してフォームを送信する必要があります: 'onclick =" SaveQuery(); $( "#savequery")。submit();ありがとう。 – Guffa