我有2个asp文本框,我已经附加了jQuery来触发linkbutton服务器端点击如果在2个文本框中的任何一个上按下回车键。但这似乎不起作用,请帮我解释我在哪里做错了什么。我需要一个适用于所有主流浏览器的解决方案[IE7,8,9],[Firefox 3,4],Safari [4,5]。
这是我的代码,
<script language="javascript" type="text/javascript">
function GC_PostBack() {
jQuery('#<%=lnkSubmitGiftCardNumber.ClientID%>').trigger("click");
}
在服务器端pn 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(“点击”),但无济于事。请帮忙!
感谢。
答案 0 :(得分:2)
Alison是正确的,如果你想像你一样使用jQuery,那就做:
<script language="javascript" type="text/javascript">
function GC_PostBack() {
jQuery('#<%=lnkSubmitGiftCardNumber.ClientID%>').click();
}
</script>
编辑:
如果您使用的是jQuery,为什么不在所有这些中使用jQuery?目前,您所拥有的内容将无法跨按键事件进行跨浏览。我建议这样的事情:
(function() {
$('input[id$="txtGiftCardNumber"], input[id$="txtGiftCardPin"]')
.keypress(function(e) {
var keyCode;
if (window.event) keyCode = window.event.keyCode;
else if(e) keyCode = e.which;
else return true;
if (keyCode == 13) {
$('[id$="lnkSubmitGiftCardNumber"]').click();
return false;
} else return true;
});
});
答案 1 :(得分:1)
以下内容可用于触发回发:
document.getElementById('<%= lnkSubmitGiftCardNumber.ClientID %>').click();
答案 2 :(得分:1)
您可以在此处找到正确的答案:http://johanleino.wordpress.com/2010/05/05/using-jquery-to-trigger-click-event-on-linkbutton/
问题是jQuery click方法不会唤起linkbutton的href。您必须'评估''href'属性的内容。
答案 3 :(得分:1)
我知道这是一个很老的帖子,但可能还有其他人在那里像我一样仍在寻找答案。我试过这个代码,它对我来说很好。检查“Enter key”是相同的,但是__doPostBack()而不是click()。
__doPostBack('<%=lnkSubmitGiftCardNumber.UniqueID%>', '');
答案 4 :(得分:1)
<asp:LinkButton ID="LinkButton1" OnClick="LinkButton1_Click"runat="server">G</asp:LinkButton>
$(document).keypress(function (e) {
if (e.which == 13) {
javascript: __doPostBack('LinkButton1', '')
}
});
答案 5 :(得分:0)
您可以使用JQUERY在客户端进行全部操作。让我们说txtGiftCardNumber有txtGiftCardNumberID作为ID在这种情况下,您可以将keydown与keypress的最佳事件关联起来
$('input:text[id$=txtGiftCardNumberID ]').keydown(function (event) {
if (event.keyCode == '13') {
$('#'+<%= lnkSubmitGiftCardNumber.ClientID %>).click();
}
}
});