将参数从php(mysql_query结果)传递给onchange事件触发的javascript函数

时间:2011-01-23 16:26:30

标签: php javascript mysql

我有一个我无法解决的问题(我不知道为什么我是php和js的新手)。我有一个文本字段,我想在模糊触发js中的函数。我的问题是我想在tnis函数中传递一个参数,它将从查询中获取。 我的测试代码是:

<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"/>
?> 

我的观点是:我得到的'num'类型为'50 -50'(代表百分比)。获取“mytext”的初始值并计算“mytext”和“mytext2”的新值。 示例:$ nums = '60 -40'initialMytext = 100 - &gt; new mytext = 60 mytext2 = 40

如果我在calcNums()中放入一个内部var,那么计算是正确的,但是没有触发参数。

有人可以帮忙吗? 提前谢谢!

2 个答案:

答案 0 :(得分: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"/> 

答案 1 :(得分: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"/>