2010-08-12 74 views
1

我有一个div(很好的gif dislayed,如果它是一个按钮),在该div是一块javascript处理ENTER,如果它是一个点击($(this).click( ))。点击做它自己的事情。输入火表格提交

在FireFox中,这一切都很完美:用户按下按钮上的输入并点击。 在IE中,表单提交不是点击()

帮助!!

+0

如何确保在点击输入按钮时专注于div? – 2010-08-12 10:03:40

+0

你应该在这里发布相关代码:) – 2010-08-12 11:33:54

回答

0

在IE中,输入元素(按钮类型)上的回车键的默认行为是表单提交(大部分时间)。

您可以尝试捕获keydown事件并检查确认键;如果是则运行event.preventDefault()

看看: https://developer.mozilla.org/en/DOM/event.preventDefault

如果您发布一些代码,我可以通过修改代码帮助你。发布您的HTML和相关的JavaScript。

3

这是一个方便的花花公子jQuery函数,我用它来解决这个问题。

$(formSelector).find('input, select').keypress(function (event) { 

    if (event.keyCode == 13) { 
     event.preventDefault(); 
     $(buttonSelector).click().focus(); 

     return false; 
    } 
}); 

formselector只是抱着“#FormId”的变量,并且按钮选择器是拿着我想点击该按钮的变量。所以你的情况就是:'#IdOfYourDivToClick'。

+0

我可以问你为什么在'focus()'之前运行'click()'? – Jon 2011-06-30 11:06:45

+0

没有真正的原因,焦点()是一个后想到的B/C我想突出显示的按钮。 – Patricia 2011-06-30 12:53:41