2012-10-15 65 views
1

我希望這使得sesne,請裸露在我身邊。所以我有一個包含變量的PHP頁面,我有一些輻射方框,點擊它們後,它會計算您點擊的項目的價格。我通過激活一個我已經傳遞了一些變量的js函數來做到這一點。像這樣。將變量從PHP傳遞到Javascript使用Ajax返回PHP

PHP:

$result = mssql_query("SELECT * FROM Segments ORDER BY 'Squares'"); 
    if (!$result) { 
     echo 'query failed'; 
     exit;    
    } 

    while ($row = mssql_fetch_array($result)) { ?> 

    <span><?php echo $row["Squares"]; ?></span> 
    <input name="squares" type="radio" 
     onclick="ajaxCases('<?php echo $row["Squares"]; ?>', '<?php echo $row["StartCaseID"]; ?>', '<?php echo $row["StartMatrixPrice"]; ?>')" value="<?php echo $row["Squares"]; ?>" 
     <?php if ($row["Squares"] == "1") { ?> checked="checked" <?php }else{ ?> checked="" <?php } ?>/> 
<?php } ?> 

正如你所看到的onclick它關係到一個函數調用ajaxcases,這個功能看起來是這樣的。

function ajaxCases(squares,start,price){ 
    $('#step1').html('<p style="margin:100px 0px 0px 100px"><img src="images/ajax-loader-bigindic.gif" width="32" height="32" alt="" /></p>'); 
    $('#step1').load("ajax-styles.php?squares="+squares); 
    prevId1 = ""; 
    document.varsForm.caseid.value=start; 
    $('#step1price').html('<span style="margin:0px 0px 0px 30px"><img src="images/ajax-loader-price.gif" width="24" height="24" alt="" /></span>'); 
    $('#step1price').load("ajax-step1-price.php?Squares="+Squares); 
    return true; 
} 

這則轉到名爲Ajax的第一步,price.php一個PHP頁面,我回想一下變量廣場。然而,它不起作用,我認爲這是一個GET,但返回未定義。總結:我想知道如何將一個變量從PHP傳遞給JS,然後返回到PHP,或者如果有人可以告訴我我要出錯的地方,那將是不勝感激。

我使用MS SQL數據庫

+1

如果您將嵌入式樣式轉換爲CSS文件並改爲使用'class'或'id'屬性,那麼您的代碼將更加清晰。無論如何,這是HTML/CSS的最佳實踐。 –

回答

1

檢查您的功能簽名。

您有:

function ajaxCases(squares,start,price){ 

應該是:

//     |-------- capital S 
function ajaxCases(Squares,start,price) { 

或者更好的是,這種變化:

$('#step1price').load("ajax-step1-price.php?Squares="+Squares); 

這樣:

//             v--- lowercase s 
$('#step1price').load("ajax-step1-price.php?Squares="+squares); 

JavaScript變量是case-sensitive

+0

除非他故意指向不尊重命名約定的全局變量。:-) –

+0

@JanDvorak :)是的,這是真的 –

0

平方確實是一個GET變量,你可以這樣訪問:$_GET['Squares']

如果$_GET['Squares']回報undefined,請確認您調用正確的URL。

0

嘗試調試它。

首先查看PHP生成的HTML。

如果所有值都正確,請嘗試在瀏覽器控制檯中運行爲<input name="squares" onclick="..." />生成的javascript。

如果來自ajaxCases()的呼叫轉到服務器,請查看URL - 是否正確組成。

如果是 - 請檢查服務器腳本返回的內容以及它對輸入值的作用。

希望有所幫助。