这是我的JQuery:
我拥有的是
当我点击chekcbox时,
它将显示警报并将值$ name发送到b.php文件,它将显示源文件中div #stage中b.php抛出的值。
但问题是,它显示的是结果,但它没有显示b.php文件返回的值。我在做什么错误?
<form id="myform">
<input type="checkbox" name="check1" value="check1" onClick="cbChanged(this);" />
<input type="checkbox" name="check2" value="check2" onClick="cbChanged(this);" />
</form>
<script>
cbChanged = function(checkboxElem) {
if (checkboxElem.checked) {
var name=$("#txt").val();
$.post("b.php",
{name: name}).done(function(data){
$('#stage').html(data);
}
);
alert("That box was checked.");
} else {
alert("That box was unchecked.");
}
}
</script>
<div id='stage'></div>
这是代码 b.php
<?php
$name=$_REQUEST['$name'];
echo $name.'is updated';
?>
我在做什么错。我该如何解决这个问题?
请帮帮我。
答案 0 :(得分:0)
<?php
$name=$_REQUEST['$name'];
echo $name.'is updated';
?>
将此更改为
<?php
$name=$_REQUEST['name'];
echo $name.'is updated';
?>
答案 1 :(得分:0)
您的代码中有两个错误:
首先:您在$ _REQUEST中传递了错误的索引值 尝试以下:
<?php
$name=$_REQUEST['name'];
echo $name.'is updated';
?>
第二:你试图获得不存在id为“#txt”的元素的值。 尝试以下:
<script>
cbChanged = function(checkboxElem) {
if (checkboxElem.checked) {
$.post("b.php",
{name: "Hello"}).done(function(data){
$('#stage').html(data);
}
);
alert("That box was checked.");
} else {
alert("That box was unchecked.");
}
}
</script>
答案 2 :(得分:0)
由于您评论说您已从$_REQUEST['name']
更正$_REQUEST['$name']
,并假设您已在页面中导入了jquery,并且您有一个带{{的输入元素(或具有值属性的元素) 1}},你需要做的就是在post方法的第二个参数中给键名称加一些引号(因为你已经有一个带有该名称的变量),我想你应该没事( @Regent,感谢指出键值对在技术上是有效的,即使我不喜欢它。虽然我不确定小提琴证明了什么,因为它是客户端,并且你警告它的价值在帖子之前变量;但我再次测试,发现我错了)。
如果您仍然无法获得PHP回复,因为我已经回答了问题,这对我来说很合适:
id='txt'
b.php:
<!-- HTML + JS -->
<script src="../../js/jquery-1.10.2.min.js"></script>
<form id="myform">
<input type="checkbox" name="check1" value="check1">
<input type="checkbox" name="check2" value="check2">
<input id="txt" value="test">
</form>
<div id="stage"></div>
<script>
$('#myform [type=checkbox]').change(function(){
$.post('b.php', {name:$('#txt').val()}, function(data){
$('#stage').append(data + "<br/>");
});
});
</script>