功能乘以输入和显示

时间:2012-08-22 05:42:44

标签: php javascript mysql

我有这样的表格:

  • Product下拉列表
  • Quantity文字字段
  • UnitPrice显示
  • TotalPrice显示

我创建了一个函数,通过在选择下拉列表时查询db来显示unitprice。现在我想通过乘以数量和UnitPrice来输入数量时显示TotalPrice。理解以下是繁殖的方式,但我如何在我的查询中应用它。我的代码也包括在内。

<script>
function showUP(str)
{
if (str=="")
{
document.getElementById("UP").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("UP").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getunitprice.php?q="+str,true);
xmlhttp.send();
}
function multiply(Quantity)
{
var totalPrice= parseFloat(document.getElementById("UP"))*Quantity;
document.getElementById("TP").innerHTML= totalPrice;
}
</script>


    <table><tr>
    <th width-"18%>Quantity:</th>
    <td width="60%">
        <input type-"text" name="Quantity" value="" onkeyup= "multiply (this.value)" size="60" />
    </td>
    </tr></table>
<p></p><div id="UP"><b>UnitPrice: 0.00 </b></div><p>
<p></p><div id="TP"><b>TotalPrice: 0.00 </b></div><p>

getunitprice.php

<?php
 $q=$_GET["q"];

 $con = mysql_connect('localhost', '', '');
 if (!$con)
 {
 die('Could not connect: ' . mysql_error());
 }

 mysql_select_db("db", $con);

 $sql="SELECT CostPrice FROM Product WHERE ProductCode = '".$q."'";

 $result2 = mysql_query($sql) or die($sql."<br/><br/>".mysql_error());

 while($row2 = mysql_fetch_array($result2)) {

 echo "<b>UnitPrice: ".$row2['CostPrice']."";


 }

    mysql_close($con);
       ?> 

1 个答案:

答案 0 :(得分:2)

使用onBlur代替onchange事件。您还可以在数量文本框中使用onkeyup事件。

<script>
function multiply(qty)
{
    var totalPrice= parseFloat(document.getElementById("UP").innerHTML)*qty;
    document.getElementById("TP").innerHTML= totalPrice;
}
</script>

        <tr>
        <th width-"18%>Quantity:</th>
        <td width="60%">
        <input type-"text" name="Quantity" value="" onkeyup= "multiply (this.value)" size="60" />

        </td>
        </tr>

<p></p><div><b>UnitPrice: <span id="UP">0.00</span> </b></div><p>
<p></p><div id="TP"><b>TotalPrice: 0.00 </b></div><p>