私は送信ボタンとキャンセル/閉じるボタンの2つのボタンを持つフォームを持っています。ユーザーが送信をクリックすると、入力されたデータはhttp://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/を使用して検証されます。すべてが有効であれば、フォームはjQuery/AJAXで送信されます。それはすべてうまく動作し、素敵です。私はキャンセルボタンの問題に遭遇します。キャンセルボタンに確認を求めます。ユーザーが進むことを選択すると、自分が選択したページに移動します。彼らがキャンセルしたくないと判断した場合、それらは単にページに残されます。それは動作していない最後の部分です。jQuery AJAXの送信を使用しているフォームの処理/送信を停止するにはどうすればよいですか?
マイフォームのコードは次のようになります。
<form name="createPage" id="createPage" method="post" action="pager.php" class="ajax updateForm">
<input name="whatever" type="text" />
<button type="submit" id="submitQuickSave" class="submitSave"><span>save</span></button>
<button type="submit" id="submitCancel" class="submitClose" onclick='confirm_close()'><span>close</span></button>
</form>
私の現在の取り消しスクリプトは次のようになります。ユーザーが実際にキャンセルしたい場合は、検証が実行されないようにフォーム送信をバインド解除します。その後、フォームはsubmitに進み、action属性のパラメータとしてcancelが含まれます。私はキャンセルサーバー側を処理し、ユーザーを新しいページに誘導します。
function confirm_close()
{
var r=confirm("All changes since your last save operation will be discarded.");
if (r==true)
{
$(".ajax").unbind("submit");
}
else
{
}
}
「else」引数には何を入れるべきかわかりません。ユーザーが取り消しを取り消す(つまり、falseを返す)場合、フォームは依然として送信を試みます。私はそれを止めることはできません。私は成功せず、このサイトや他の人からいくつかのことを試してみた:
event.stopImmediatePropogation
.abort()
任意のアイデア?基本的に、キャンセル/クローズボタンを正しく動作させるにはどうすればよいですか?
ビンゴ。どうもありがとう。 – technoTarek