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

标签 javascript php jquery html ajax

我正在尝试使用 MySql 学习具有搜索功能的网页设计。我想将其分为两步选择,但是,我遇到了一个真正让我困惑的问题,因为我没有很强的设计背景。我试图尽可能具体地阐明问题。

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,但似乎没有获取值。

如有任何帮助,我们将不胜感激。

最佳答案

您必须使用键值对发送数据,如下所示:

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

关于javascript - 如何使用 AJAX 将值传递给 PHP 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56520313/

相关文章:

javascript - 光滑的 slider 宽度错误

javascript - Javascript &lt;script src =...> 接受完整路径吗?

javascript - 使用 AngularJS 在 Controller 之间传递变量

javascript - 如何访问 JSON 对象中的值?

PHP Phar 部署性能

php - mysql, php, 如何比较数字

javascript - 如何检查文档/文档快照中是否存在某个字段?

PHP 数据库查询每次都返回 false

带复选框 foreach 的 Jquery 辅助函数

jquery - 如何制作带有引导线的 div?