2014-09-26 39 views
0

這裏後是我的JQuery:jQuery的行動複選框

我有的是

當我點擊chekcbox,

它會顯示警告,並willsend值$名稱到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

那些一個字符錯誤,將我們的腦細胞燒掉。 – Mysteryos 2014-09-26 04:54:37

+0

@Regent如果您認爲這是答案,請將其作爲答案。評論不是回答問題的地方。 – 2014-09-26 04:55:39

+0

我感覺不好,我沒注意到 – WeTheBrains 2014-09-26 04:55:42

回答

0
<?php 
$name=$_REQUEST['$name']; 
echo $name.'is updated'; 
?> 

改變這

<?php 
$name=$_REQUEST['name']; 
echo $name.'is updated'; 
?> 
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> 
+0

如果您需要獲取「$ _REQUEST ['name']」的值,則必須在您的「$ .post」請求中傳遞名稱的值。而在目前的例子中,你沒有這個元素,這就是爲什麼你得到錯誤的未定義索引 – 2014-09-26 05:05:21

+0

謝謝,我更新..但我沒有從b.php文件得到的值 – 2014-09-26 05:07:58

0

既然你評論說,你從$_REQUEST['$name']糾正$_REQUEST['name'],假設你在你的頁面已經導入jQuery和你有一個input元素(或具有價值屬性的元素)與id='txt' 所有你需要做的就是在你的post方法第二個參數(因爲你已經有一個名稱已經變量的變量)的關鍵字名稱周圍引號 ,我想你應該很好(@Regent,感謝指出了關鍵價值對在技術上是有效的,即使我不喜歡它雖然我不確定小提琴證明了什麼,因爲它是客戶端,並且您在發佈之前提醒變量的值;但是我測試了再次發現我錯了)。

在你仍無法得到一個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> 

b.php:

<?php 
    $name = $_REQUEST["name"]; 
    echo $name." is updated"; 
?> 
+0

'{'名稱':名稱}'是相同的到'{name:name}'。看看[提到的小提琴](http://jsfiddle.net/z26pp8pk/),看看它工作得很好。 – Regent 2014-09-26 05:53:41

+0

thanksit works! – 2014-09-26 08:22:34