リストビューに次のレイアウトがあります。
<EditItemTemplate>
<tr class="<%# If(Container.DisplayIndex Mod 2 = 0, "", "a") %>">
<td style="text-align: center;width:50px;">
<asp:ImageButton ID="btnConfirmar" runat="server" CommandName="Update" ImageUrl="../images/Aceptar.ico">
</asp:ImageButton>
</td>
<td style="text-align: center;width:50px;">
<asp:ImageButton ID="btnCancelar" runat="server" CommandName="Cancel" ImageUrl="../images/Cancelar.ico">
</asp:ImageButton>
</td>
<td style="text-align: left;">
<asp:TextBox ID="txtZonaNombre" Text='<%#Convert.ToString(CType(Container.DataItem, KeyValuePair(Of Long, Mercurio.clsZonas)).Value.ZonaNombre)%>'
runat="server" Width="100%" />
<asp:RequiredFieldValidator ID="ZonaNombreValidador" ControlToValidate="txtZonaNombre"
Display="Dynamic" Text="La zona debe tener nombre" runat="server" />
</td>
</tr>
</EditItemTemplate>
私が望むのは、リターンキー(イントロ、エンター、chr(13)、名前は何でも)を押して編集を確認し、フォーカスがtxtZonaNombreテキストボックスにある間にescキーを押して編集をキャンセルすることです。
次のコードで、jqueryを使用して「クリック」をエミュレートしようとしました:
$("#txtZonaNombre").keypress(function (e) {
if (e.which === 13) {
$("#btnConfirmar").trigger('click');
return false;
}
});
しかし、コードは起動されません(アラート呼び出しで確認しました)。
リストビュー全体はユーザー コントロールの一部であり (ascx ファイルにあります)、コントロールはマスター ページ レイアウト内にあり (マスター ページの jquery ライブラリを参照しています)、リストビューは updatepanel 内にあります。
私はあなたの助けに感謝します!よろしく!