【发布时间】:2011-04-16 05:20:54
【问题描述】:
我试图找出与this old question from last year 描述的行为有关的事情。我有一个带有单个输入文本字段和一个“提交”按钮的表单。与提出该问题的人不同,我希望在用户点击“输入”时提交表单。确实,这对我有用;然而,不起作用的是导致表单中的“提交”输入被虚拟点击的怪癖:Firefox 和 Chrome 在发布的参数中包含“提交”输入的名称,而 IE 没有。换句话说,我希望这种古怪的提交行为能够发布文本输入字段,以及提交输入。
有趣的是,在我最近引入的一些神秘变化之前,我的表单就是这样做的。 (Firefox 和 Chrome 仍然有效,但 IE 曾经有效,现在无效。)我可能可以弄清楚我改变了什么来破坏它,但是@bobince 似乎理解了这个怪癖,我想我会问看看如果有已知的(甚至可能记录在案的)方法来控制它。
这是我的测试页面:http://gutfullofbeer.net/post.html
这是我能做的最简单的测试:
<!DOCTYPE html>
<html>
<body>
<form name='foo' action='cgi/echoparams.cgi' method='post'>
<input type='text' name='name' value=''>
<input type='submit' name='submit_button' value='Submit'>
</form>
</body>
</html>
cgi 脚本只是模仿发布的内容。
【问题讨论】:
-
为什么需要包含按钮?如果您需要发送一些信息,请使用隐藏字段。
-
我可以绝对使用隐藏输入,事实上我开始这样做了。然后我尝试了一个较旧的系统安装,发现由于某种原因,该机制过去使用 IE 在该页面上工作过,所以我很好奇为什么会这样。
标签: javascript html forms submit