ホームページ >ウェブフロントエンド >jsチュートリアル >「入力」で送信せずにログイン フォームが消えるのはなぜですか?
jQuery を使用した「Enter」でのフォームの送信
HTML/jQuery を使用する AIR プロジェクトの標準ログイン フォームを処理する場合、 「Enter」を押すと、フォームの内容が送信されずに消えるなど、予期しない動作が発生する可能性があります。この問題に対処するには、潜在的な根本原因を理解することが重要です。
提供されたコード スニペットは、「.keypress()」関数を使用して「Enter」キー イベントを処理しようとしますが、フォームが消える問題を解決できません。を発行し、提出を阻止します。考えられる理由の 1 つは、フォームに 'action' 属性がないことです。
この問題を効果的に解決するには、イベント ハンドラー コードを次のように変更します。
$('.input').keypress(function (e) { if (e.which == 13) { $('form#login').submit(); return false; // Add this line } });
ここでの重要な追加点は「return false」ステートメントです。この行を追加すると、基本的に、「Enter」キーの押下に関連付けられたデフォルトの動作が防止されます。この場合、アクションの競合によりフォームの送信が妨げられます。
リンクされた StackOverflow の回答で述べたように、「return false」 「e.preventDefault()」および「e.stopPropagation()」と同様に機能し、デフォルトのブラウザ動作を抑制し、イベントのカスタム処理を容易にします。
この変更により、ログイン フォーム内で「Enter」を押すと、フォームを正しく送信し、最初に発生した問題を解決します。
以上が「入力」で送信せずにログイン フォームが消えるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。