如何使用AJAX将值传递给PHP脚本?

时间:2019-06-10 03:52:33

标签: javascript php jquery html ajax

我正在尝试使用MySql的搜索功能来学习网页设计。我想选择2步,但是我遇到了一个使我感到困惑的问题,因为我没有很强的设计背景。我正在尝试尽可能具体以使问题更清楚。

test.php

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>count</title>
<link rel="stylesheet" type="text/css" href="dbstyle.css">
<script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'> 
</script>

</head>
<body>

<form id="serc" method="post" action="">
<input type="radio" value="typeA" name="comments" onclick="expr()">Good
<input type="radio" value="typeB" name="comments" onclick="expr()">Bad
</form>

<form id="form1" name="form1" method="post" style="visibility:hidden">
<p>please select reason:</p>
<input type="checkbox" class="check" name="checkbox[]" value="COL 8">aaa<br />
<input type="checkbox" class="check" name="checkbox[]" value="COL 9">bbb<br />
<input type="checkbox" class="check" name="checkbox[]" value="COL 10" >ccc<br />
<button id="aaa" type="submit" class="butt" name="sub2" style="visibility:hidden">Submit</button>
</form>

<?php
$comm = $_POST["gender"];
$reas = $_POST["checkbox"];

if($comm){$respond = $_POST['comments'];
    echo $respond;
}

<script src="limit.js"></script>

</body>
</html>

limit.js

//click to get Value
$("input[type='Radio']").click(function(){
    var radioValue = $("input[name='comments']:checked").val();
    $("#serc").css("display", "none");
    $("#form1").css("visibility", "visible");
});

//limit multiple selection up to 4
$("input:checkbox").click(function() {
    var bol = $("input:checkbox:checked").length;
    if(bol == 4){
        $("input:checkbox").not(":checked").attr("disabled",bol);
        $("#aaa").css("visibility", "visible");
    }
    else {
        $("#aaa").css("visibility", "hidden");
        $("input:checkbox").removeAttr("disabled");
    }
});

// return value
function expr()
{
    var radioValue = $("input[name='comments']:checked").val();
    var dataTosend= radioValue;
    $.ajax({
        url: 'index.php',
        type: 'POST',
        data: dataTosend,
        async: true,
        success: function (data) {
            alert(data)
        },
    });
}

该功能将是:

从广播项目中进行第一阶段选择,onclick使用jQuery隐藏选择项,还通过Ajax从jQuery中获得radioValue,以发送给php使用。

第二阶段,从复选框中选择4个项目,然后提交以运行搜索字段。

我希望将radioValue作为变量加载回php,但似乎没有获取值。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

您必须使用这样的键值对发送数据:

    function expr(){
    var radioValue = $("input:radio[name='comments']").val();
    var dataTosend= {'radioValue': radioValue};
    $.ajax({
        url: 'index.php',
        type: 'POST',
        data: dataTosend,
        async: true,
        success: function (data) {
            alert(data)
        },
    });
}