ユーザーがEnterキーを押したときに送信したいフォームがあります。Firefox では正常に動作しますが、IE では動作しません。JavaScript の使用が許可されていないことを除いて、基本的にこれと同じ問題です: Enter ボタンがフォームを送信しません (IE のみ) ASP.NET
残念ながら、ASP.NET は JavaScript を使用してボタンのポストバックを処理しているようです。JavaScript に依存しないこの問題を回避する方法はありますか?
ユーザーがEnterキーを押したときに送信したいフォームがあります。Firefox では正常に動作しますが、IE では動作しません。JavaScript の使用が許可されていないことを除いて、基本的にこれと同じ問題です: Enter ボタンがフォームを送信しません (IE のみ) ASP.NET
残念ながら、ASP.NET は JavaScript を使用してボタンのポストバックを処理しているようです。JavaScript に依存しないこの問題を回避する方法はありますか?
これに対する修正は、リンクされた投稿のページの下部にリストされていたものです。これを機能させるには、何らかの理由でIEに追加のフォームフィールドが必要です。私はこれを多くのプロジェクトで使用してきましたが、バグを回避できます。以下を追加するだけです。
<!-- Fix for IE bug submit on pressing "Enter") -->
<div style="display:none">
<input type="text" name="hiddenText"/>
</div>
私の解決策は、ログインボタンをクリックするスクリプトです。
すべてのブラウザで動作しました!
public partial class Logon : UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
Page.ClientScript.RegisterClientScriptBlock(GetType(), "Logon", "document.getElementById('id_LoginButton').click();", true);
}
}