2016-12-05 22 views
1

上週我問了一個問題,這在我認爲是正確的部分中完全是我的錯誤,但是一旦主要問題得到解決,我仍然無法獲得我的行變量我的Javascript代碼。我沒有Javascript的實際經驗,不幸的是,所有的教程或回答的問題,我只找到我如何獲得一個特定的複選框到我的Javascript,而不是一個變量線。從SQL輸出中獲取複選框值爲javascript

這是我正在做的事情,我有一個報告,用我的SQL服務器數據庫運行的PHP報告每個項目沒有發送日期,這可能是數百個項目,每行有一些關於未發送的項目和複選框,複選框有一個「onclick」事件來調用我的Javascript,它調用一個PHP頁面並將發送日期寫入該項目的數據庫。

當前的代碼工作,如果我硬編碼到我的PHP鏈接的EID,所以除了傳遞一個變量以外的任何東西都已經過測試和工作。這裏是我的代碼:

PHP

while($row = sqlsrv_fetch_array($result)) { 
    echo "<tr> 
    <td><a href='vieweid.php?EID=" . $row['EID'] . "'>view</a></td> 
    <td><input type='checkbox' onclick='issent(this)' name='sent[$i]' value='" . $row['EID'] . "'/></td> 
    </tr>"; 
    $i++; 
} 

的Javascript:

<script type="text/javascript"> 
    function issent(cb){ 

    if($(cb).is(":checked")) 
     { 
     var jsEID = $(this).val() 
     $.getScript("sentscript.php?EID="jsEID); 
     } 

    } 
</script> 

我不能肯定,如果變量沒有被填寫JS或者如果我錯誤地調用它的一部分我的.getscript。任何幫助,將不勝感激。

+0

「* ..目前的代碼工作,如果我硬編碼的EID到我的PHP鏈接,*」。所以問題是檢索EID? –

+0

在瀏覽器(不是IE!)中使用Javascript'console.log(jsEID)'與F12鍵結合使用,以查看ID是否被填充。使用'<?php print_r($ _ GET);在PHP腳本中查看ID是否到達PHP腳本。 – Cagy79

+0

娜娜,是的,問題在於從表單向Javascript傳遞EID時,代碼的其餘部分起作用。 Cagy它似乎沒有看到該變量,我得到以下錯誤: jquery-latest.js:7722 Uncaught TypeError:無法讀取未定義的屬性'toLowerCase'(...) –

回答

0

變化

1)var jsEID = $(this).val()

var jsEID = $(cb).val();

2)$.getScript("sentscript.php?EID="jsEID);

$.getScript("sentscript.php?EID="+jsEID);

更新的代碼

<script type="text/javascript"> 
    function issent(cb){ 
    if($(cb).is(":checked")){ 
     var jsEID = $(cb).val(); 
     $.getScript("sentscript.php?EID="+jsEID); 
    } 
    } 
</script> 
+0

與上述行爲沒有變化。 –

+0

請檢查我更新的代碼。 @SarahHartt。現在,它會工作。 –

+0

完美地工作,非常感謝你的幫助! –