【问题标题】:PHP - Using getElementByID or $_POSTPHP - 使用 getElementByID 或 $_POST
【发布时间】:2015-12-05 10:11:47
【问题描述】:

我有一个 WordPress 主题,它使用 PHP/JS/AJAX 组合来呈现预订表格。

我正在尝试访问由以下内容呈现的输出字段的值:

<div class="output">
    <p><?php _e('Check-in', 'bookyourtravel') ?></p>
    <p class="step_1_date_from_holder" id="pccfromdate"></p>
    <p><?php if (!empty($accommodation_check_in_time)) { echo ' ' . $accommodation_check_in_time; } ?></p>
</div>

我需要从 pccfromdate 文本中获取值。我在http://epiccloudshare.com/penninelettings/hotel/curlew-yurt-village/的预订过程中看到的变量如下:

$date_from(在 .js 文件中设置)

$selected_date_from(在我执行 Chrome“检查元素”时看到)

我试过了

<?php $date_from2 = document.getElementByID('pccfromdate').value; ?>

但如果我的理解开始发展,这是不可能的,因为 PHP 是服务器端,JS 是客户端

表单有一个针对它的 POST 方法,所以我也尝试过

<?php if(isset($_POST['selected_date_from']))
    $date_from2 = $_POST['selected_date_from']; ?>

任何指针将不胜感激

编辑

我没有表明$_POST 的尝试也不起作用。 因此,正如我所表明的那样,我 认为 答案与 AJAX 有关,因为我需要的值是通过 step_1_date_from_holder 类显示的。我可以修改 php 脚本以将 name 和/或 id 分配给 &lt;p&gt; 但我不知道如何使用 AJAX 来获取实际值以将其恢复为一个 PHP 变量。

【问题讨论】:

标签: javascript php ajax wordpress


【解决方案1】:

getElementById() 是一个 JavaScript 函数是正确的,因此在 PHP 代码中使用它是行不通的。

如果您尝试访问 $_POST 变量,这很简单:

  • 观察您正在使用的表单,并查看name 属性的值。例如,name="foo" 可以通过$_POST['foo'] 访问,或者;
  • 使用print_r($_POST); 回显$_POST 数组。

记得使用 htmlspecialchars() 之类的东西来转义用户输入。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-19
    • 1970-01-01
    • 2023-03-26
    • 2020-12-07
    • 1970-01-01
    • 2011-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多