我在同一页面上遇到html表单和PHP的问题。这是我刚写的代码的一部分:
这是我想通过单击提交按钮在数组中插入ID的表单。提交表单时, menge 的值始终为空。有人知道为什么会出现这个问题吗?
echo '<form name="aanzahl" method="POST" action="index.php?page=einzelansicht&id='.$a_id.'">';
echo '<input id="inputButton" type="text" name="menge" value="1" size="2" maxlength="2" disabled>';
echo '<input type="submit" class ="warenkorbbtn" name="warenkorbbtn" value="In den Warenkorb">';
echo '</form>';
if(isset($_POST['warenkorbbtn'])){
if (!isset($_SESSION['warenkorb'])){
$_SESSION['warenkorb'] = array();
}
$_SESSION['warenkorb'][] = array('warenkorb_id'=>$a_id, 'menge'=>$_POST['menge']);
echo "Artikel befindet sich nun im Warenkorb";
}
答案 0 :(得分:2)
如果将disabled
属性设置为输入元素,那么当您触发&#34;提交&#34;时,不会发送该元素的值。行动。
尝试删除disabled
属性以获取字段值。
答案 1 :(得分:0)
属性已禁用的表单元素的值不会随表单一起发送:
此布尔属性表示表单控件不可用于交互。特别是,不会在禁用的控件上调度click事件。此外,禁用控件的值不会随表单一起提交。 1
为了使用表单发送的值仍然阻止用户修改值,请使用属性readonly(尽管没有任何东西可以防止用户使用浏览器控制台更改/删除该属性)。
<input id="inputButton" type="text" name="menge" value="1" size="2" maxlength="2" readonly />
如果您不关心用户甚至看到输入,您可以输入类型隐藏(即(input type="hidden" />
),尽管用户仍然可以更改值使用他们的浏览器控制台。
您可以看到使用this phpfiddle演示的只读属性,其中 readonly 属性已在该输入上设置。
另请注意,输入元素没有允许的内容,因此是[空元素],所以我将斜杠添加到元素的末尾,以便正确关闭它(即{{ 1}})。
在HTML中,在空元素上使用结束标记通常无效。例如,HTML无效。 2