【问题标题】:Pressing enter with in text box, submit button set, unset issue with IE在文本框中按 Enter 键,提交按钮设置,IE 未设置问题
【发布时间】:2012-03-15 12:10:03
【问题描述】:

我有一个 PHP 脚本中的表单和一个文本字段。但是,当我在文本字段中按下回车键时,$_POST 数组中没有设置提交按钮。

但是当我在表单中有两个文本字段时,提交按钮设置在 $_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 不会在$_POST 数组中设置Submit 按钮。

这不会设置提交按钮:-

<?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 问题时实际上得到了这个。

【问题讨论】:

  • 删除哪个输入重要吗?
  • @Chris:你可以通过移除任何文本元素来测试它。当表单中只有一个文本输入元素和一个提交按钮时,它不会设置submit
  • 我问您删除两个文本输入中的 哪个 是否重要,因为我无法重现这一点。您可以编辑您的帖子以包含“损坏”版本吗?
  • 根据@Yaniro 的链接,看起来这是一个已知的 IE 错误。

标签: php internet-explorer submit enter


【解决方案1】:

感谢@Yaniro。这是一个IE bug

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多