2012-03-15 94 views
1

我有一个PHP脚本和一个文本字段的窗体。但是,当我在文本字段中按Enter键时,提交按钮不会在$_POST阵列中设置。在文本框中按下输入,提交按钮设置,取消设置问题与IE

但是,当我在窗体中有两个文本字段提交按钮设置在$_POST数组。

这发生在IE中。任何人都可以解释这背后的原因吗?

下面是代码我与

<?php 
print_r($_POST); 
?> 
<form action="" method="post" name="frmdata"> 
<input type="text" name="abc1" id="abc1" value="" size="20" maxlength="20"/> 
<input type="text" name="abc" id="abc" value="" size="20" maxlength="20"/> 
<input type="submit" name="submit1" value="submit1" id="submit1" /> 
</form> 

测试如果我删除文本框之一,按提交表单输入键,输入在文本框中的文字,IE不会设置Submit按钮$_POST数组。

这不设置提交按钮: -

<?php 
print_r($_POST); 
?> 
<form action="" method="post" name="frmdata"> 
<input type="text" name="abc1" id="abc1" value="" size="20" maxlength="20"/> 
<input type="submit" name="submit1" value="submit1" id="submit1" /> 
</form> 

事实上,我这个在回答this问题。

+0

它有什么关系*你删除哪个*输入? – 2012-03-15 12:29:05

+0

@Chris:您可以通过删除任何文本元素来进行测试。当表单中只有一个文本输入元素和一个提交按钮时,它不会设置“submit”。 – 2012-03-15 12:33:22

+0

我问是否重要**你删除了两个文本输入中的哪一个,因为我无法重现这一点。你可以编辑你的文章以包含“破碎”版本吗? – 2012-03-15 12:39:18

回答

0

谢谢@Yaniro。这是一个IE bug

IE具有单一文本元素的错误 - 如果您使用回车键提交表单,Submit按钮将不会在$_POST中设置。

如果您希望submit button$_POST中设置,则当在IE中按Enter键提交表单时,您必须至少有2个表单元素。