PHP - 使用getElementByID或$ _POST

时间:2015-09-09 12:29:21

标签: javascript php ajax wordpress

我有一个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&#34时检查;检查元素&#34;)

我试过了

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

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

表单有一个POST方法,所以我也试过

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

任何指针都将不胜感激

修改

我没有表明$_POST尝试也没有奏效。 因此,正如machavity所示,认为答案与AJAX有关,因为我需要的值通过step_1_date_from_holder类显示。我能够修改php脚本以将name和/或id分配给<p>,但我还没有得到如何使用AJAX来获取信息的线索将其恢复为PHP变量的实际值。

1 个答案:

答案 0 :(得分:1)

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

如果您尝试访问$_POST变量,这很容易做到:

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

请记住使用类似htmlspecialchars()的内容来逃避用户输入。