2009-04-01 16 views
1

ユーザーがEnterキーを押したときに送信したいフォームがあります。 Firefoxではうまく動作しますが、IEではうまく動作しません。 JavaScriptを使用することはできませんが、基本的にこれと同じ問題です。 Enter button does not submit form (IE ONLY) ASP.NETASP.NETはキーとフォーム入力をjavacriptなしで行います

残念ながら、ASP.NETはボタンポストバックを処理するためにJavaScriptを使用しているようです。 JavaScriptに依存しないこの問題を回避する方法はありますか?

答えて

4

この修正は、リンク先のページの一番下に表示されたものです。 IEは、これが機能するために何らかの理由で追加のフォームフィールドを持つ必要があります。私はこれを多くのプロジェクトで使用しており、バグを回避しています。ちょうど以下を追加してください。

<!-- Fix for IE bug submit on pressing "Enter") --> 
<div style="display:none"> 
      <input type="text" name="hiddenText"/> 
</div> 
+0

待っていますか?IE以外のブラウザでフォームが送信されないようにしますか?または、[Enter]でIEで送信を有効にしますか? –

+0

私はそれが提出の問題を解決すると信じています。詳細はこちら http://blog.richardszalay.com/2006/07/workaround-hitting-enter-to-submit.html –

+0

IEを修正し、他のブラウザに影響を与えません。 (FF、オペラ、サファリ) –

0

解決策はこれでしたが、ログインボタンをクリックするスクリプトです。

すべてのブラウザで機能しています。

public partial class Logon : UserControl 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     Page.ClientScript.RegisterClientScriptBlock(GetType(), "Logon", "document.getElementById('id_LoginButton').click();", true); 
    } 
} 
関連する問題