8

抱歉标题,我知道它很乱,但我不知道如何描述这种情况。

我们有一个输入字段。但没有表单元素。这是代码

<input name="search" id="search" onkeypress="SearchBox(this.value);" type="text" value="Search"/>
<input name="searchbutton" align="left" class="okbutton" id="searchbutton" onclick="SearchBox(search.value);" type="button"/>

SearchBox 功能检查键码,如果它是 13(输入按钮字符码)发送搜索请求。此代码在 IE8/9 中有效,但在 IE10 中具有有趣的行为。

页面中间的代码。我们在页面顶部有一个用于登录的按钮元素。

在 IE10 中;

我在输入中输入一个单词并按回车:

  • SearchBox 功能工作,
  • 但表现得像登录按钮也被点击,这是一个问题

注意:对不起语言,英语不是我的母语。注 2:删除了 SearchBox() 函数。检查 jsfiddle 链接以获取最新代码。

4

3 回答 3

18

另一种解决方案

将您的按钮类型定义为按钮。因为默认类型是提交

<button type="button" ....
于 2012-11-23T15:33:32.080 回答
3

好吧,Windows7 的 IE10 是一个预发布版本,这似乎是 MS 应该修复的问题之一。无论如何,我不知道为什么会发生这种情况,但我找到了解决该问题的方法:

而不是button,使用<input type="button">.

在jsFiddle进行现场演示。

于 2012-11-22T16:15:09.023 回答
0

我遇到了同样的问题。将 type="button" 添加到我的所有按钮都有效。<按钮类型="按钮">...

即使我的按钮不在表单中。

从其他测试中,我完成了 IE 10 的工作方式与 Chrome 完全一样。这是我见过的唯一例外。

于 2013-08-30T15:48:29.443 回答