Web アプリケーションでリンクボタンを使用していますが、「複合コントロール」は ASP パネルを使用していません (したがって、「DefaultButton」プロパティはなく、機能しません)。私のリンク ボタンには現在、href が 'javascript:_doPostBack..' (asp のデフォルト) として設定されていますが、カスタムのクライアント側検証スクリプトを有効にするために、'onclick' 属性にもコードがあります。
典型的なボタン:
<div class="button orange o_lime right Normal">
<a onclick="if (!validateFormmainContent_Login()) return false;"
id="mainContent_Login_ctl09_mainContent_Login_btnSubmit" defaultB="loginForm"
href="javascript:__doPostBack('ctl00$mainContent$Login$ctl09$mainContent_Login_btnSubmit','')">
Submit
</a>
</div>
「デフォルト ボタン」アクションを必要とする典型的なフォーム行
<div class='row' ID='mainContent_Login_ctl03'>
<label ID='mainContent_Login_ctl04'>Email/Username</label>
<input name="ctl00$mainContent$Login$txtAccount" type="text" id="mainContent_Login_txtAccount" class="lime validate[required]" defaultB="loginForm" />
</div>
これを機能させるためのコードでの私の現在の試み:
<script type="javascript">
$('input[defaultB]').keypress(function (e) {
if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
$('a[defaultB=' + $(e.srcElement).attr('defaultB') + ']').click();
return false;
} else {
return true;
}
});
現在試みられている解決策では、対応するボタンで定義された「defaultB」値と一致する値を「defaultB」に割り当てます。これにより、キーを押す「13」(入力) で「クリック」イベントが開始されます。しかし、何も起こっていません:(
役立つようにjsfiddleを作成しましたが、愚かな「機能が見つかりません」という例外で機能しません。:(
http://jsfiddle.net/Ninjanoel/yQvKC/
すべてのコントロールを作り直すことなく、これを機能させたいと思います! 誰でも助けることができますか?