Checkbox之后的Jquery Action

时间:2014-09-26 04:50:01

标签: javascript php jquery

这是我的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';
?>

我在做什么错。我该如何解决这个问题?

请帮帮我。

3 个答案:

答案 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>