【问题标题】:Near identical HTML forms, one posts correct value, the other doesn't几乎相同的 HTML 表单,一个发布正确的值,另一个不发布
【发布时间】:2015-05-18 16:49:17
【问题描述】:

我的页面welcome.php中的两个表单如图所示:

<form action="welcomeforms.php" method="post" name="Food_Calories">
    <h4>.</h4>//spacer
    <input type="text" name="breakfast_calories" value="Calorie Amount" onFocus="this.value=''"><br>
    <input type="submit" style="position: absolute; left: -9999px; width: 1px; height: 1px;">
</form>


<form action="welcomeforms.php" method="post" name="Foods">
    <h4>Breakfast</h4>
    <input type="text" name="breakfast" value="Add new breakfast item" onFocus="this.value=''"><br>
    <input type="submit" style="position: absolute; left: -9999px; width: 1px; height: 1px;">
    </form>

这是welcomeforms.php上的代码:

if(isset($_POST['breakfast'])){$breakfastitem = $_POST['breakfast'];}
if(isset($_POST['breakfast_calories'])){$breakfastcals = $_POST['breakfast_calories'];}
echo $breakfastitem;
echo $breakfastcals;

表格正确显示在网页上,当我在早餐表格中输入值“面包”和在早餐表格中输入值“100”时,网页上返回的内容如下:

Undefined variable: breakfastitem in C:\wamp\www\welcomeforms.php on line 26
100

表格与我的眼睛基本相同,所以我不明白为什么一个发布正确的值而另一个没有发布任何内容。我错过了什么可笑的事情吗?

感谢您的建议

【问题讨论】:

  • 使用“one”形式,而不是“deux”、“due”、“two”。您正在尝试在执行被调用的表单时访问其他表单之外的元素。
  • 只有一个表单正在提交。您必须使用 JavaScript 来提交 n 表单或执行@Fred-ii- 所说的,这是更好的答案。
  • 要是我能用那个兑现就好了,嗯 Sam? - @JayBlanchard
  • 你可能会以我习惯的方式留住我@Fred-ii- ;-)
  • @JayBlanchard 我们再唱一遍那首歌好吗Sam? ^

标签: php html forms undefined-index


【解决方案1】:

您正在使用两个单独的表单,并且一次只能提交一个。将它们合二为一。

也可以使用placeholder = "Add new breakfast item" 而不是value="Add new breakfast item" onFocus="this.value=''" - 它会做你打算在现代浏览器中获得的东西 - 请参阅支持:http://www.html5rocks.com/en/tutorials/forms/html5forms/#toc-other-form-attr

【讨论】:

  • @JayBlanchard 我知道,但我应该在这里使用哪个其他参考?
  • 非常感谢,我自己没有注意到这一点,我觉得很傻!已将两种形式合二为一,它的工作原理,也感谢有关占位符的提示
【解决方案2】:

因为它一次只提交一个表单,所以它只从一个表单中获取价值。

【讨论】:

    猜你喜欢
    • 2015-02-08
    • 1970-01-01
    • 2013-10-14
    • 1970-01-01
    • 2018-03-27
    • 1970-01-01
    • 1970-01-01
    • 2019-11-30
    • 2023-03-21
    相关资源
    最近更新 更多