Javascript 如何使用AJAX将值传递给PHP脚本?
我正在尝试学习使用MySql的搜索功能的网页设计。我想进行两步选择,但我遇到了一个问题,这真的让我困惑,因为我没有强大的设计背景。我试图尽可能具体地把问题说清楚 test.phpJavascript 如何使用AJAX将值传递给PHP脚本?,javascript,php,jquery,html,ajax,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="db
<!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>
该职能将是:
第一阶段从单选项中选择,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)
},
});
}
当用户单击“好”或“坏”单选按钮时,您正在尝试提交。。对吗?提交处理程序只是考虑好/坏单选按钮&而不是下面的复选框。。这是正确的吗?我试图使提交按钮只考虑复选框,它的工作。但是在此之前,当我单击单选按钮(没有提交)时,单选按钮无法获取值(typeA/typeB)。typeA/typeB单选按钮上有
onclick=“expr()”
,这意味着您希望在单击选项后立即提交。唯一的提交按钮是name=“sub2”
,它位于第二个表单中,而不是本表单中。这就是您想要的吗?使用浏览器控制台“网络”选项卡监视ajax调用。在检查调用后,您可以验证是否提交了数据。当我单击onclick=“expr()”但未提交时,我正试图将值返回到php,只需从按钮中获取值“typeA”,我的jQuery在单击按钮后定义了操作,我只想发送值“typeA/B”返回php,以便可以使用它定义其他函数。很抱歉造成混淆。感谢您的及时回复,我试图调用该值,但它似乎无法通过这种方式调用:“echo$radioValue”;但在我单击该无线电项目后,它似乎没有返回该值。还是我误解了导致这个问题的原因?我还试图发送一个空的php文件,当它运行alert(数据)时,它会跳出一个空框。任何评论都将不胜感激。再次感谢您的欢迎。在发送到ajax之前,您可以在控制台中打印所选的无线电值吗?您的选择似乎不起作用。请重试:var radioValue=$(“输入:radio[name='comments']”)。val();尝试这样做时,当我点击收音机时,警报显示并打印“localhost用空框表示”。似乎在ajax之前无法加载收音机中的值(类型A/B)。目前正在考虑如何修复它。通过这种方式,您的PHP应该在$\u REQUEST['radioValue']
或$\u POST['radioValue']
中获得单选按钮值,它是否显示为空?
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)
},
});
}