1

我在初始页面加载时创建的表格中嵌入了一个表格:

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>";

但该值没有被传递,我不知道为什么。

可能是因为表单嵌入在表格中?

4

3 回答 3

3

首先,form元素需要进入td. 其次,在表单提交中只发送表单元素的值,即input,selecttextarea。试试这个:

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>';
于 2013-10-18T10:36:54.400 回答
1

<form>您不能trtd. <tr> 规范

允许的内容:零个或多个 <td> 或 <th> 元素,或它们的混合

属性也对元素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>';
于 2013-10-18T10:34:44.047 回答
-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>";

谢谢, 瑙姆切

于 2013-10-18T10:43:35.217 回答