我在表格中嵌入了一个在初始页面加载时创建的表单:
echo "<form id='showbooking' action='calendar.php' method='post'>";
echo "<td name='clickedcalid' value='" . $resarr[$k]['calid'];
echo "' title='" . $resarr[$k]['coms'] . "' class='hols'>";
echo $resarr[$k]['typ'] . "</td></form>";
单击表格中的单元格并想要传递单击的单元格的值时,我提交表单。
<script>
$(".hols").click(function() {
$("#showbooking").submit();
})
</script>
重新加载后我正在测试:
echo "<p> ID of clicked booking was: " . $_POST['clickedcalid']; . "</p>";
但价值没有通过,我不知道为什么。
可能是因为表格嵌入表格中?
答案 0 :(得分:3)
首先,form
元素需要进入td
。其次,只有表单元素的值在表单提交中发送,即input
,select
,textarea
等。试试这个:
echo '<td class="hols" title="' . $resarr[$k]['coms'] . '">';
echo '<form id="showbooking" action="calendar.php" method="post">';
echo '<input type="text" name="clickedcalid" value="' . $resarr[$k]['calid'] . '" />';
echo $resarr[$k]['typ'] . '</form></td>';
答案 1 :(得分:1)
您无法将<form>
置于tr
元素内,包裹td
。 <tr>
specification说
允许的内容:零或更多&lt; td&gt;或者&lt; th&gt;元素,或它们的混合
同样value
属性对td
元素无效。您需要重新构建标记。
echo '<td class="hols" title="' . $resarr[$k]['coms'] . '">' .
'<form id="showbooking" action="calendar.php" method="post">' .
'<input type="hidden" name="clickedcalid" value="' . $resarr[$k]['calid'] . '">' .
$resarr[$k]['typ'] .
'</form>' .
'</td>';
答案 2 :(得分:-1)
要从$ _POST获取价值,您需要输入标签
echo "<form id='showbooking' action='calendar.php' method='post'>";
echo "<td><input type='text' name='clickedcalid' value='" . $resarr[$k]['calid'];
echo "' title='" . $resarr[$k]['coms'] . "' class='hols' />";
echo $resarr[$k]['typ'] . "</td></form>";
谢谢, Naumche