触发asp.net链接按钮点击回车键
我有 2 个 asp 文本框,如果在 2 个文本框中的任何一个上按下 Enter 键,我会附加 jQuery 来触发链接按钮服务器端单击。但这似乎不起作用,请帮我解释一下我做错的地方和内容。我需要一个适用于所有主要浏览器 [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("click"),但无济于事。请帮忙!
谢谢。
I have 2 asp text boxes that I have attached jQuery to trigger linkbutton server side click if enter key is pressed on any of the 2 text boxes. But this does not seem to work, Please help me explain where and what I am doing wrong. I need a solution that works in all major browsers [IE7,8,9], [Firefox 3,4], Safari[4,5].
Here is my code,
<script language="javascript" type="text/javascript">
function GC_PostBack() {
jQuery('#<%=lnkSubmitGiftCardNumber.ClientID%>').trigger("click");
}
and on server side pn Page_Load, I'm attaching this function to onkeypress event of textboxes.
if (!IsPostBack)
{
txtGiftCardNumber.Attributes.Add("onkeypress", "if(window.event.keyCode == 13) { GC_PostBack(); }");
txtGiftCardPin.Attributes.Add("onkeypress", "if(window.event.keyCode == 13) { GC_PostBack(); }");
}
I have tried using .click() rather then .trigger("click"), but to no avail. Please help!
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
Alison 是正确的,如果您想像现在一样使用 jQuery,只需执行以下操作:
编辑:
如果您使用 jQuery,为什么不使用 jQuery 来完成这一切呢?目前,您所拥有的内容无法跨浏览器运行按键事件。我建议这样的事情:
Alison is correct, and if you wanted to use jQuery like you have, just do:
EDIT :
If you are using jQuery, why not use jQuery for all of this? Currently, what you have will not work cross-browser for the keypress event. I suggest something like this:
以下将触发回发:
The following will work to trigger the postback:
您可以在这里找到正确的答案: http://johanleino.wordpress.com/2010/05/05/using-jquery-to-trigger-click-event-on-linkbutton/
问题是 jQuery click 方法不会唤起链接按钮的 href。您必须“评估”“href”属性的内容。
You can find the correct answer here: http://johanleino.wordpress.com/2010/05/05/using-jquery-to-trigger-click-event-on-linkbutton/
The Problem is that the jQuery click method do not evoke the href of the linkbutton. You have to 'eval' the content of the 'href' attribute.
我知道这是一篇旧帖子,但可能还有像我一样的其他人仍在寻找答案。我已经尝试过这段代码,它对我来说效果很好。检查“Enter key”是相同的,但使用 __doPostBack() 而不是 click()。
I understand that this is an old post, but there might be other people out there like me still searching around for the answer. I have tried this code and it works fine for me. Checking for "Enter key" is same but __doPostBack() instead of click().
您可以使用 JQUERY 在客户端进行所有操作。假设 txtGiftCardNumber 有 txtGiftCardNumberID 作为 ID,在这种情况下,您可以将 keydown 关联起来,这是一个比 IE 按键更好的事件
You can make all in client side with JQUERY. let's say txtGiftCardNumber has txtGiftCardNumberID as ID in this case you can associate keydown that is a better event that keypress with IE