3

おはよう...

Enterテキストボックス内でキープレスイベントをトリガーするために、各ページでJavaスクリプトを使用しています。正常に動作しています。.jsここで、グローバル アクセス用にコードをファイルに配置します。

 function EnterKeyPress(id,e) {
       // look for window.event in case event isn't passed in
       if (window.event) { e = window.event; }
       if (e.keyCode == 13 || e.keyCode == 121) {

           window.document.getElementById('<%= ibtnSubmit.ClientID %>').click();
       } 
   }

コントロールIDをハードコーディングしたくありません。誰でも私を助けてくれませんか..

4

3 に答える 3

9

ControlIDの代わりにidパラメーターを使用できます。ページでこの関数を使用する場合は、ControlIDをパラメーターとして渡すことができます。

function EnterKeyPress(id,e) {
  if (window.event) { e = window.event; }
   if (e.keyCode == 13 || e.keyCode == 121) {
     document.getElementById(id).click();
   }
}

ASP .NETを使用しているため、コードビハインドでキープレスイベントを割り当てることができます。

TextBox1.Attributes.Add("onkeypress",
                      string.Format("EnterPressKey('{0}', event);", ibtnSubmit.ClientID));

ただし、その機能はASP .NETで既に実行されており、ASP:Panelコントロールを使用して共通のコントロールをラップできます。また、パネルにDefaultButtonを割り当てて、Panelコントロールにフォーカスがありユーザーがいるときにクリックされるボタンを示すことができます。キーを押しEnterます。

于 2009-08-05T05:36:41.610 に答える
0

jQuery を使用している場合は、次のように実行できます。

$("input[id*=ibtnSubmit]").click()
于 2009-08-05T05:25:40.257 に答える
0

ユーザーがEnterキーを押したときにフォームを送信する場合は、javascript は必要ありません。これは自動的に行われます。アクションを含むフォーム要素内にテキストボックスを配置するだけです:

<form action="process.php">
  <input type="text">when the enter key is pressed, the form is submitted and sent to process.php</input>
</form>
于 2009-08-05T05:29:02.747 に答える