我有一个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变量的实际值。
答案 0 :(得分:1)
你是正确的getElementById()
是一个JavaScript函数,因此在PHP代码中使用它是行不通的。
如果您尝试访问$_POST
变量,这很容易做到:
name
属性的值。例如,可以使用name="foo"
或; $_POST['foo']
print_r($_POST);
回显$_POST
数组。请记住使用类似htmlspecialchars()
的内容来逃避用户输入。