0

私はこのようなフォームを持っています:

<form method="post" action="/WebApp/forgotpassword" id="forgot-password">
    <input type="email" name="email" id="email">
    <input type="submit" value="Submit" id="submitBtn">
</form>

次の jQuery 1.7.2 コードを使用します。

$('form#forgot-password').on('submit', function(e) {
    console.debug('Form submit');
    e.preventDefault();
    return false;
});

案の定、送信ボタンをクリックすると、コンソールに「フォーム送信」が出力されます。ただし、ブラウザー (私の場合は Firefox) は、/WebApp/forgotpassword でサービスによって返された JSON に引き続きリダイレクトします。

jQuery が壊れていることを示すと思われる他の質問を見たことがないので、間違った使い方をしていると思います。

ご協力いただきありがとうございます!

4

2 に答える 2

2

回答ありがとうございます。彼らはまさに正しかった。この問題は、技術的負債の良い例です。

システムの離れた場所にいる誰かが、すべてのボタンのクリック イベントに直接バインドし、手動で JS フォームを検証してから、親フォームを手動で送信しました。

于 2012-06-03T14:30:35.693 に答える
0

Yes preventDefault will stop the event, you might also want to call stopPropagation as well.

于 2012-06-01T21:11:29.667 に答える