【问题标题】:How to get the value from a label如何从标签中获取值
【发布时间】:2013-10-29 03:24:29
【问题描述】:

好的,问题是我有一个在表单中的标签,当我按下按钮时我试图访问这个标签,我的表单看起来像:

<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
}

目前它会提醒一个空值,当我将它作为文本框而不是标签放置时它可以工作,但遗憾的是它需要是一个标签,任何帮助都会很棒,谢谢。

【问题讨论】:

  • 要么使用javascript获取标签值并提交,要么放置隐藏输入(input type="hidden" name="item" value="") 并在提交表单时将其用作表单数据。

标签: php html forms post if-statement


【解决方案1】:

标签不会与表单一起提交,因此它不会按照您的方式工作。为什么不在它下面创建一个隐藏的输入字段来回显相同的值?然后你的 $_POST[''] 就可以了。

<input type="hidden" name="lblItemName" value="<?php echo $ItemName; ?>">

【讨论】:

  • @Sythnet 如果信息不需要动态更改,这是一个很好的解决方案。如果信息发生变化,您需要在提交之前使用 javascript / jquery 并更新该隐藏字段。所以把这个想法和我的答案一起使用。
  • 是的,信息没有改变,我可以使用隐藏文本字段,感谢您提供的信息,如果您能再回答一个问题,那就太好了!为什么标签不发送信息,是否有它被构建为不发送信息的原因?
  • 好吧,标签是为了解释相关输入字段的预期内容是什么,并且由于输入字段的名称在接收数据的最后将其置于上下文中,因此通常不会也需要包含标签信息。
  • @spacebean 我知道这是一个旧线程。但只是好奇,如果使用 input 作为隐藏字段,那么人们实际上可以通过进入诸如检查元素之类的 Chrome 工具来操作该隐藏字段,使其可见并相应地更改值对吗?
【解决方案2】:

很容易做到。

alert($('label').html());

【讨论】:

    【解决方案3】:

    无需对代码进行重大更改,您就可以使用与标签相同的值初始化的隐藏字段来获得所需的内容。

    【讨论】:

      【解决方案4】:

      您无法从表单发布中获取标签的值,因为未发送信息。您可以做的是使用标签的值在表单中添加一个隐藏字段

      【讨论】:

        【解决方案5】:

        标签只是 HTML 页面上任何其他可见实体的标签,借助 javascript 及其库,您可以访问标签内的 HTML 以将其发送到服务器。 但是这种方法不好,正如其他人建议的那样,最好使用隐藏字段来发布此类数据而不使用javascript。

        此外,我想补充一点,如果您的页面使用 HTML5,那么您可以将 data 属性与大多数 html 标签一起使用来存储链接到这些元素的数据。 使用 jQuery 访问这些数据,将其序列化并通过 Ajax 请求将其发送到服务器。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-08-12
          • 2018-09-17
          • 2022-11-24
          • 1970-01-01
          • 1970-01-01
          • 2017-09-22
          相关资源
          最近更新 更多