我有一个foreach循环,其中列出了作为链接的唯一代码:
<a href="#" class="charcoal_link" value="<?php echo $id_to ?>" style="line-height: 20px;" onclick="showMessageArea(this); return false;">
<?php echo $uniqueCode1?>
<span class="pink_text"><?php echo $uniqueCode2?></span>
<?php echo $uniqueCode3?>
</a>
<input type="hidden" name="id" value="<?php echo $id_to ?>" />
<form id="message_area" style="display:none" method="post" action="<?php echo ADDRESS; ?>messageSent.php?id=<?php echo $id_to ?>">
<tr>
<td>
<input name="message" type="textarea" rows="10" cols="20" value="<?php echo $message ?>" />
</td>
<td>
<input name="Submit" type="submit" value="Send" />
</td>
</tr>
</form>上面还使用了另一种形式的标记:<form name = "contacts" method="post">,动作部分工作正常,但在messageSent.php中,我这样做:
var_dump($_POST);
var_dump($_GET);输出结果给我:
NULL
array(1) { ["id"]=> string(2) "36" }发布于 2011-05-31 09:38:46
<a href="#" class="charcoal_link" value="<?php echo $id_to ?>" style="line-height: 20px;" onclick="showMessageArea(this); return false;">
<?php echo $uniqueCode1?>
<span class="pink_text"><?php echo $uniqueCode2?></span>
<?php echo $uniqueCode3?>
</a>
<form id="message_area" style="display:none" method="post" action="<?php echo ADDRESS; ?>messageSent.php?id=<?php echo $id_to ?>">
<input type="hidden" name="id" value="<?php echo $id_to ?>" />
<table>
<tr>
<td>
<textarea name="message" rows="10" cols="20"><?php echo $message ?></textarea>
</td>
<td>
<input name="Submit" type="submit" value="Send" />
</td>
</tr>
</table>
</form>您不能在表单中有一个窗体。你必须分开做,否则就用同样的形式.
我为你修复了HTML标记
发布于 2011-05-31 08:59:39
您的HTML无效。在中,您所犯的许多错误:您不能在表中有一个表单,而只能在一个tr附近。浏览器通过将表单元素移动到允许的位置纠正错误,并将输入保留在单独的位置(因为输入可以在td元素中)。
验证。验证。验证。
您共享的HTML片段有很多问题,您可能会从编写网页的初学者指南中受益。
https://stackoverflow.com/questions/6185163
复制相似问题