2012-12-20 20 views
0

請參閱PHP數據到jQuery的變量

<?php 
if($_POST['submit']) 
{ 
$beg=$_POST['basic']; 
} 

if($_POST['inter']) 
{ 
$int=$_POST['int']; 
} 

if($_POST['advance']) 
{ 
$adv=$_POST['adv']; 
} 
?> 

function refreshPrices() { 

    var beg=<?php echo $beg; ?>; 
    var inte=<?php echo $int; ?>; 
    var advn=<?php echo $adv; ?>; 


    var currentTotalValue = 0; 
    currentTotalValue = currentTotalValue + parseInt(beg) + parseInt(inte) + parseInt(advn); 
    $("#results div").each(function() { 
     if (!isNaN(parseInt($(this).find("span").text().substring(1)))) { 
      currentTotalValue += parseInt($(this).find("span").text().substring(1)); 
     } 
    }); 


    $("#totalValue").text("$" + currentTotalValue) 
} 

如果我從PHP添加一個變量,並將它們添加到jQuery函數目前總,它工作正常,但如果我添加3個變量和他們的jQuery總共不起作用。在我的html中,我有3個不同隱藏值的按鈕,只是將它們發佈到第二頁,它將會把它的值添加到jQuery中。

+1

使用'echo isset($ beg)? $ beg:0'。而其他人也一樣。檢查它是否解決。 –

+0

它的工作原理,謝謝 –

回答

1

它不工作的原因很簡單。您創建無效的JavaScript。

假設$int = null;在這種情況下echo $int;將打印不信邪,var inte = ;是無效的,所以「行不通」。並且只要$int和其他變量是用戶輸入的結果可能會更糟糕。所以首先驗證你的輸入,並且還有默認值,以便在內容中你有有效的javascript。

var beg=<?php echo (is_string($beg)) ? $beg : defaultValue; ?>; 
2

只使用

json_encode(array($val,$val2,$val3)) 

並打印到您的JS文件到一個新的數組。

+0

,請用isset和!驗證您的所有數據 – EnrageDev