2011-06-28 12 views
0

[ENTER]キーにヒットしたときにJavaScriptからフォームを送信しようとしています。 .submitはフォームに複数のボタンがあるため機能しません。jQueryでネストされたボタンコントロールのボタンにアクセスできない

DDLClientNameドロップダウンリストは、aspnetFormフォームにあります。このフォームにはSaveCancelDeleteという別のカスタムコントロールがあります。このコントロール(* .ascx)には、すべてのボタンが含まれています。

私がしたいのは、いずれかのボタンのクリックイベントが発生するためです。私は下にあるものは動作しますが、少しハッキングします。私はネストされたClientIDコールバックでそのコードを試しましたが、うまくいかないようです。私は最もクリーンなアプローチを探しています。

jQuery(this.Elements.DDLClientName).keypress(function(e) { 
     if (e.keyCode === 13) { 
      //jQuery("#aspnetForm").submit(); 
      jQuery("#ctl00_body_QuickDataEntryEditor_SaveCancelDelete_BtnNonAuthenticated1").click(); 
     } 
    }); 

これは動作していないよう:

jQuery('#<%=SaveCancelDelete.ClientID %>').jQuery('#<%=BtnNonAuthenticated1.ClientID %>').click(); 
+0

<%= BtnNonAuthenticated1.ClientID%>のページに表示されるものは何ですか?また、QuickDataEntryEditorのページにレンダリングされるHTMLの例を提供できますか? –

答えて

1

あなたの第二の例は、.find()代わりの.jQuery()

jQuery('#<%=SaveCancelDelete.ClientID %>').find('#<%=BtnNonAuthenticated1.ClientID %>').click(); 

にする必要があるが、それはすでにIDなので、そうでありません両方とも持っている必要があります。これもうまくいくはずです:

jQuery('#<%=BtnNonAuthenticated1.ClientID %>').click(); 
+0

私はそれらを動作させることができませんでした。.click()ではなく、最後に.val()を付けたコードの最初の部分を警告したとき、 "undefined"と表示されました。 – MacGyver

+0

奇妙なもの...私のJavaScriptの擬似クラスはキャッシュされており、決して更新されていないと思います。今それは素晴らしい作品です!どちらも動作しますが、別のコントロールを導入する場合は、最初の方が好きです。どのようなコントロールがあるのか​​を示します。ありがとうございました! – MacGyver

関連する問題