非表示の送信ボタンと 1 つのテキスト入力を備えたフォームがあります。テキスト入力では、jQuery i を使用して、フォームを送信する変更イベントが添付されています。問題は、入力時にEnterキーを押すと、フォームが2回送信されることです。入力がフォームを送信し、入力が変更イベントを検出してフォームを再度送信するためだと思います。2 つの質問があります: - 私の考えは正しいですか? - どうすれば修正できますか?
これはJavaScriptです:
$("input.price").live('change', function () {
$(this).closest('form').submit();
});
編集: e.preventDefault() はイベント「変更」のデフォルトを妨げていると思いますが、イベント「送信」を妨げていません..イベント「変更」の前にこれを試してみましたが、運が悪いかもしれませんが、解決策に近いかもしれません:
$("input.price").live('submit', function (e) {
e.preventDefault();
});