好的问题是,我有一个表格中的标签,当我按下按钮时,我正试图访问此标签,我的表格如下:
<form method = 'POST'>
<img src = 'ItemIcons/<?php echo $ItemPicture;?>.png' alt = '<?php echo $row["ItemDesc"];?>'/>
<label name = 'lblItemName'><?php echo $ItemName; ?></label>
<br>
<label> <?php echo "Gold:" . $row["ItemPrice"]; ?> </label>
<input type = 'submit' value = 'Buy <?php echo $ItemName; ?>' name = 'ItemPurchase'/>
</form>
我调用按钮的代码如下:
if(isset($_POST['ItemPurchase'])) {
$ItemName = $_POST["lblItemName"];
?>
<script>
alert('<?php echo $ItemName;?>');
</script>
<?php
}
目前它会提醒一个空值,当我把它作为文本框放入而不是标签时它会起作用,但它需要一个标签,遗憾的是,任何帮助都会很棒,谢谢。
答案 0 :(得分:9)
标签不会随表单一起提交,因此不会按照您的方式运行。为什么不在它下面创建一个隐藏的输入字段来回显相同的值呢?然后您的$ _POST ['']将起作用。
<input type="hidden" name="lblItemName" value="<?php echo $ItemName; ?>">
答案 1 :(得分:3)
很容易完成。
alert($('label').html());
答案 2 :(得分:2)
如果您的代码没有太大的变化,您可以使用与标签相同的值初始化的隐藏字段获得所需内容。
答案 3 :(得分:0)
您无法从表单帖子中获取标签的值,因为不会发送信息。您可以做的是使用标签的值
为表单添加隐藏字段答案 4 :(得分:0)
标签只是HTML页面上任何其他可见实体的标签,借助javascript及其库,您可以访问标签中的HTML以将其发送到服务器。 但是这种方法并不好,正如其他人所建议的那样,最好使用隐藏字段来发布这些数据而不使用javascript。
此外,我想补充一点,如果您的页面使用的是HTML5,那么您可以使用大多数html标记的数据属性来存储链接到这些元素的数据。 使用jQuery访问这些数据,将其序列化并通过Ajax请求将其发送到服务器。