[英]post php variable in ajax (no jQuery)
我想这是一个简单的问题,但对我来说不是。 我有简单的日历,只有一个月:
<div id="calendar">
<?php
$month_num=date('m');
echo $month_num . " ";
echo '<span onclick="next(this.value);" value="' . $month_num . '";> > </span>';
?>
</div>
我的脚本是:
function next(str) {
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("calendar").innerHTML = this.responseText;
}
};
xmlhttp.open("POST","test3.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("n=" + str);
}
和test3.php
是:
<?php
if (isset($_POST['n'])) {
$n = $_POST['n'];
}
if (isset($n)) {
echo $n + 1;}
?>
问题是, $n
是未定义的,结果是“ 1”。 我猜应该有一些简单的方法发布$n
。
谢谢。
根据规格,跨度没有值属性。 因此,您将很难用javascript访问它。 尝试为此使用data- *属性。
echo '<span onclick="next(this.getAttribute(\'data-value\'));" data-value="' . $month_num . '";> > </span>';
我也可以建议,由于您正在发布并且依赖于click事件,因此按钮会更合适。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.