2009-09-11 58 views
2

我正在用两个模拟搜索表单调试一个奇怪的问题 - 当用户在文本框中键入一些搜索条件并点击回车时,一个表单返回结果,另一个表单返回结果。它只发生在IE浏览器 - FF按照预期处理这两种形式。我怀疑在一种情况下按下Enter键会触发onclick中的某个搜索按钮,而另一个则会触发onclick中的某个搜索按钮。HTML - 引起提交的表单元素

如何找到表单元素引起的提交事件?

感谢, 安德烈

+0

你有你正在使用的代码的例子吗? – slashnick 2009-09-11 18:16:49

回答

1

听起来像single textbox form bug in IE

为了解决它,你可以使用Javascript来处理输入按键,或者只是插入一个空白的隐藏文本框。拉默,我知道。

+0

非常感谢!您发布的链接描述了确切的问题 - 一个表单只有一个文本框,另一个(有效)有两个。我将在星期一尝试,但我觉得它会起作用。好工作,谢谢一堆! – Andrey 2009-09-12 05:18:42

0

你可以撒上的onclick事件的表单元素设置一个隐藏的表单变量,每个元素的不同的值,然后闻其结果要么使用DOM检查器或类似提琴手。

There 可能是一种简单的方式来简单地有一种形式onsubmit()事件,你可以从事件对象中提取触发元素,但我不得不深入文档,看看这是否可能.. if我得到机会我会做一些看。

+0

不能直接判断onsubmit中按下了哪个按钮(直到它的名称/值对碰到服务器)。有检测按钮点击和进入印刷机有不愉快的解决方法,但它没有多少乐趣。 – bobince 2009-09-11 21:39:34

1

我怀疑在一种情况下按下enter键会触发onclick中的一个搜索按钮,而另一个则会触发onclick。

是的。浏览器可能在很大程度上以他们的兴趣为单位,将输入视为单击提交按钮,仅提交表单或不提供任何内容。将一般表单提交内容放在form.onsubmit中,而不是在第一个提交按钮上单击。

0

我想我可以帮助你很多如果你提供你的两个表格代码。然而,检查以下提交按钮代码:

<input type="submit" value="Submit"> 

当你使用它,那么当你按下相应的表单中输入的形式将被提交。如果你想在提交之前检查一些东西,你可以使用JavaScript函数,如下所示:

<input type="button" onclick="javascript_function_name();" value="Submit"> 

谢谢。如果这不能帮助你,请更简短地表达情况。

+0

有一个图像按钮,提交的形式: 不幸的是,我不能提供的形式,他们都是巨大的,像每个500K – Andrey 2009-09-12 05:15:04