2011-01-23 75 views
0

觸發JavaScript函數我有解決不了的問題(我不知道如何,因爲我在PHP和JS一個新手)。我有一個文本字段,我想要模糊觸發js中的函數。我的問題是我想要傳遞一個參數在tnis函數中,它將從查詢中獲得。 我的測試代碼:通過從PHP(的mysql_query結果)參數由onchange事件

<script type="text/javascript"> 
    function calcNums(nums){ 
    var inText = "00.00"; 
    if (document.expences.mytext.value != inText){ 
    var mp = parseInt(nums.substr(0,2)); 
    var lp = parseInt(nums.substr(3,2)); 
    document.expences.mytext2.value = lpdeh*parseInt(document.expences.mytext.value)/100; 
    document.expences.mytext.value = mpdeh*parseInt(document.expences.mytext.value)/100; 
    } 
    } 
</script> 

<?php 

    $selNums = "SELECT DEH_NUMS FROM BUILDING WHERE idBUILDING = '3'"; 
    $nums = mysql_query($selNums) or die("Could not execute query."); 
    <input type="text" name="mytext" id="mytext" value="00.00" onblur="calcNums($nums)"/> 
    <input type="text" name="mytext2" id="mytext2" value="00.00"/> 
?> 

我的觀點是:我得到$ NUMS是'50類型-50' (代表百分比)。獲取「mytext」的初始值並計算「mytext」和「mytext2」的新值。 例如:$ nums = '60 -40'initialMytext = 100 - > new mytext = 60 mytext2 = 40

如果我在calcNums()計算中加入了一個內部變量是正確的,但是這個參數沒有被觸發。

有人可以幫忙嗎? 在此先感謝!

+0

我想知道我怎麼能參數傳遞給事件的onblur =「calcNums($ NUMS) – 2011-01-23 16:30:15

回答

1

寫這一點,它會解決

<script type="text/javascript"> 
    function calcNums(nums){ 
    var inText = "00.00"; 
    if (document.expences.mytext.value != inText){ 
    var mp = parseInt(nums.substr(0,2)); 
    var lp = parseInt(nums.substr(3,2)); 
    document.expences.mytext2.value = lpdeh*parseInt(document.expences.mytext.value)/100; 
    document.expences.mytext.value = mpdeh*parseInt(document.expences.mytext.value)/100; 
    } 
    } 
</script> 

<?php 
    $selNums = "SELECT DEH_NUMS FROM BUILDING WHERE idBUILDING = '3'"; 
    $results = mysql_query($selNums); 
    if (!$results) die("Could not execute query."); 

    $row = mysql_fetch_assoc($results); 
    $nums = $row['DEH_NUMS']; 
?> 
<input type="text" name="mytext" id="mytext" value="00.00" onblur="calcNums('<?php echo $nums;?>')"/> 
<input type="text" name="mytext2" id="mytext2" value="00.00"/> 
0

你在PHP中混合HTML。做這樣的事情:

<?php 
$selNums = "SELECT DEH_NUMS FROM BUILDING WHERE idBUILDING = '3'"; 
$nums = mysql_query($selNums) or die("Could not execute query."); 
?> 
<input type="text" name="mytext" id="mytext" value="00.00" onblur="calcNums(<?php $nums ?>)"/> 
<input type="text" name="mytext2" id="mytext2" value="00.00"/> 
+0

輸入是關閉的PHP塊我試着「calcNums(<?PHP $ NUMS?>)」(這個我之前不知道),它給我,當我在我的函數把警報(NUMS)未定義的領域。你能告訴我爲什麼嗎? – 2011-01-23 16:36:46

+0

給。我的 「資源ID#9」 不知道這是什麼意思在MySQL查詢返回正確的結果 – 2011-01-23 16:40:19