【问题标题】:href with 2 parameters to ajax and php带有 2 个参数的 ajax 和 php 的 href
【发布时间】:2016-11-16 09:58:23
【问题描述】:

我有一个 php 站点,其中有一个日历作为表格。我想把它用作度假计划。有 365 列(每天一列),每个人一行。周六和周日都有标记。我想在用户选择新假期的开始和结束日期后进行 MSSQL 插入。 我试图用 ajax 来做这件事,我想用 ajax 来做。

我需要帮助: - 如何通过 ajax 将带 href 的 2 个参数传递给 php? - 完毕 - 如果单击此单元格,如何更改表格单元格的背景?

这是我目前所拥有的:

$(document).ready(function() {
    $('.day_button').on('click', function(e){
        e.preventDefault();

        var $this = $(this);
        var tag = $this.data('tag');
        var monat = $this.data('monat');
        var id = $this.data('id');

        if(tag1 != null){
            var varpost = "tag1=" + tag1 + "&monat1=" + monat1 + "tag2=" + tag + "&monat2=" + monat + "&id=" + id;
        }

        else{
            var varpost = "tag1=" + tag + "&monat1=" + monat + "&id=" + id;
            var tag1 = tag;
            var monat1 = monat;
        }
        jQuery.ajax({
            type: "POST", // HTTP method POST or GET
            url: "urlaub_planen_eintrag.php", //Where to make Ajax calls
            dataType:"text", // Data type, HTML, json etc.
            data: varpost, //Form variables
            success:function(response){
                $('#response').html(response);
            },
            error:function (xhr, ajaxOptions, thrownError){
                alert(thrownError);
            }
        });
    });
});

这里是调用函​​数的链接/td:

<td><a href='#' class='day_button' data-tag='".$day."' data-monat='".$month."' data-id='".$row["id"]."' style='display:block;'><br></a></td>

这里是php文件:

<?php if(isset($_POST["tag1"])){
$tag1 = $_POST["tag1"];
$monat1 = $_POST["monat1"];
$id = $_POST["id"];


if(isset($_POST["tag2"])){
    $tag2 = $_POST["tag2"];
    $monat2 = $_POST["monat2"];

    echo "ID:".$id."  von:".$tag1.".".$monat1." - bis:".$tag2.".".$monat2;
    exit();

}
else{
    echo "ID:".$id."  von:".$tag1.".".$monat1;
    exit();
}}?>

我无法回显这两个日期。 javascript 中的 if 子句不起作用。我做错了什么?

提前感谢您的帮助。

【问题讨论】:

    标签: javascript php jquery ajax


    【解决方案1】:

    如何通过 ajax 将 2 个带 href 的参数传递给 php?

    只需添加 & 和另一个 key=value 对

    example.com?param1=value1&param2=value2
    

    如果点击了表格单元格,如何更改其背景?

    做一个点击事件,使用this选择当前点击的元素,css()改变背景颜色

    $('td').click(function(){
    $(this).css('background','red');
    })
    

    【讨论】:

    • 谢谢,也许我可以用css后做点什么。
    【解决方案2】:

    您可以尝试在单击 td 时调用 javascript 函数并在 td 中传递值。然后通过 get 构建一个 XMLHttpRequest,如下所示:

    function test(param1){
        params = "param1="+param1+"&param2="+param2;    //and so on...
        req = new XMLHttpRequest();
        req.open("get","url.php?"+params,true);
        req.send(null);
        req.onreadystatechange = evaluate;
    }
    

    然后你需要一个函数 evaluate() 来处理你的 ajax 响应。

    【讨论】:

    • 谢谢,我的测试脚本可以正常工作了。但我仍然需要帮助检查是否选择了第二个日期。
    • 一个 javascript var 在您选择第一个日期时设置为 1,在您选择第二个日期时设置为 2 怎么样?
    猜你喜欢
    • 1970-01-01
    • 2021-05-20
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-31
    相关资源
    最近更新 更多