我正在尝试使用php打印日历,但很难弄清楚如何使用ajax更改显示的月份
我在标签中有两个按钮,其值分别为“+1”和“-1”,其中class =“selectMonth”
<button class="selectMonth" name="selectMonth" value="-1">previous</button>
<button class="selectMonth" name="selectMonth" value="+1">next</button>
这是我的ajax代码:
$(".selectMonth").on("click", function(){
$.ajax({
url : "index.php",
type : "POST",
data : {selectMonth : this.value},
success : function(){
alert("success!");
}
});
});
在我的index.php中我有
<?php
if(!isset($_POST["selectMonth"]))
$_SESSION["date"] = time();
else
{
$selectMonth = $_POST["selectMonth"];
$_SESSION["date"] = strtotime($selectMonth . 'month');
}
var_dump($_POST["selectMonth"]);
$date = $_SESSION["date"];
print_calendar($date);
?>
单击其中一个按钮后,我可以获取警报消息,但不能获取$ _POST变量,var_dump始终为NULL
有人可以为我找出错误吗? 我还在学习ajax。
非常感谢!
答案 0 :(得分:1)
尝试
$(".selectMonth").on("click", function(){
var inputVal = $(this).attr('value');
$.ajax({
url : "index.php",
type : "POST",
data : {selectMonth : inputVal},
success : function(){
alert("success!");
}
});
});
答案 1 :(得分:1)
尝试以下代码行:
data : {'selectMonth' : $(this).val()},
OR
data : {'selectMonth' : $(this).attr('value')},
答案 2 :(得分:0)
而不是
data : {selectMonth : this.value}
试
data : {selectMonth : this.val()}