我有两个asp文本框,我已经使用jQuery将它们连接起来,以便在任何一个文本框上按下回车键时触发linkbutton服务器端点击。但这似乎不起作用,请帮我解释一下我做错了什么。我需要一个适用于所有主要浏览器的解决方案[IE7,8,9],[Firefox 3,4],Safari [4,5]。
这是我的代码:
<script language="javascript" type="text/javascript">
function GC_PostBack() {
jQuery('#<%=lnkSubmitGiftCardNumber.ClientID%>').trigger("click");
}
在服务器端的Page_Load事件中,我将此函数附加到文本框的onkeypress事件上。
if (!IsPostBack)
{
txtGiftCardNumber.Attributes.Add("onkeypress", "if(window.event.keyCode == 13) { GC_PostBack(); }");
txtGiftCardPin.Attributes.Add("onkeypress", "if(window.event.keyCode == 13) { GC_PostBack(); }");
}
我尝试使用 .click() 而不是 .trigger("click"),但是没有成功。请帮忙! 谢谢。
<%= Element.ClientID %>
,即使它可以工作,也使用id$=
,因为您不需要知道该元素的ClientID。它将搜索以您在其后面放置的任何内容"结尾"的元素。因此,在我们的情况下,它将是您命名的元素,例如txtGiftCardNumber
和txtGiftCardPin
。更容易。此外,在触发的click()
事件上方,您可以执行一个alert("triggering click");
来验证它是否正常工作。 - Code Maverick