-3

我尝试了很多方法将值从 SPAN 插入 DB?span 中显示的值来自 Javascript。目前,当我运行时,UP 和 TP 的 0.00 将显示来自 javascript 函数的值。当我插入 MYSQL 数据库时,除了 UP 和 TP 的值之外,我插入了所有其他数据。我正在使用 input type = "hidden" 来传递值。这是我的代码。任何人都可以帮忙吗?谢谢你。

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

 <input type="hidden" name="UnitPrice" value="', document.getElementById("UP").value '"/>
 <input type="hidden" name="TotalPrice" value="', document.getElementById("TP").value '"/>

 $UnitPrice = (trim($_POST['UnitPrice']));
 $TotalPrice= (trim($_POST['TotalPrice']));

 $query = "INSERT INTO `OrderItem` (`UnitPrice`, `TotalPrice`) VALUES ('$UnitPrice','$TotalPrice')";
 $result = mysql_query($query) or die($query."<br/><br/>".mysql_error());

<script type="text/javascript">
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").innerHTML)*Quantity;
    document.getElementById("TP").innerHTML = totalPrice;
}
</script>
4

1 回答 1

1

你想做的是javascript,你不能那样做。

当您获得时,<span id="UP">0.00</span>您还可以使用该值添加该隐藏元素,添加ID到隐藏元素`并修改您的 javascript 函数以向这些隐藏元素添加值

<script type="text/javascript">
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;
            document.getElementById("UnitPrice").value=xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET","getunitprice.php?q="+str,true);
    xmlhttp.send();
}


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

<p></p><div><b>UnitPrice: <span id="UP">0.00</span> </b><input type="hidden" name="UnitPrice" id="UnitPrice" value=""/></div><p>
<p></p><div><b>TotalPrice: <span id="TP">0.00</span> </b><input type="hidden" name="TotalPrice" id="TotalPrice" value=""/></div><p>
于 2012-08-22T07:47:16.580 回答