1

PHPを使用してカレンダーを印刷しようとしていますが、ajaxで表示される月を変更する方法を理解するのに苦労しています

タグには、値がそれぞれ「+1」と「-1」で、class="selectMonth" の 2 つのボタンがあります。

<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);

?>

ボタンの 1 つをクリックすると、アラート メッセージは表示されますが、$_POST 変数は表示されず、var_dump は常に NULL です。

誰かが私のために間違いを見つけることができますか? 私はまだajaxを学んでいます。

どうもありがとうございました!

4

3 に答える 3

1

以下のコード行を試してください:

data : {'selectMonth' : $(this).val()},

また

data : {'selectMonth' : $(this).attr('value')},
于 2013-11-12T13:15:19.260 に答える
1

試す

$(".selectMonth").on("click", function(){
    var inputVal = $(this).attr('value');
    $.ajax({
        url : "index.php",
        type : "POST",
        data : {selectMonth : inputVal},
        success : function(){
            alert("success!");
        }

    });

}); 
于 2013-11-12T13:13:30.600 に答える