好吧,我是新来的,也是网络基础编程的新手。我有一个商店的数据库,现在我正在为此创建一个网站。在该数据库中有一个表 call stock,其中每个产品都有一个 ID、颜色、代码和尺寸。该颜色代码和尺寸用作复合键。并且也有价格。
现在在我的网站中,我创建了一个页面“salse.php”,通过选择选项下拉菜单输入代码、颜色、大小
<label for="code">Code</label>
<select name="code" size="1" id="code">
<option selected="selected">Choose One</option>
<option>L</option>
<option>G</option>
<option>S</option>
<option>B</option>
</select>
像那样。[1] 现在我希望当用户填写这 3 个字段代码、颜色和大小时,我的 java 脚本将自动从数据库中查找销售价格,并放入价格字段。
[2] 之后,当用户填写该数量标签时,通过将数量字段值乘以价格字段值并在总字段内打印来自动生成总价。
我试过了,这是我的代码
<this script will use to get price value -->
<script type="text/javascript">
function price(str)
{
if (str =="")
{
price =document.getElementById('salse');
price.value = Number (0);
return;
}
if(window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
}
xmlhttp.onreadystatechange= function()
{
if (xmlhttp.readyState ==4 && xmlhttp.status ==200)
{
price =document.getElementById('salse');
price.value = Number(xmlhttp.responseBody);
}
}
xmlhttp.open("GET","price.php?q="+str,true);
xmlhttp.send();
}
</script>
并且该字段是<?php
Echo " <label for='size'>Size</label>
<select name='size' size='1' id='size' **onchange= 'price(this.value)**'>
<option selected='selected'>Choose Size</option>";
$size = 0;
while($size <= 50)
{
Echo"<option>";echo $size; Echo"</option>";
$size++;
}
Echo"</select>";
和内部 price.php 这段代码就像`
while($row = mysql_fetch_array($result))
{
echo $row['salse_price'] ;
}`
但是输出是“未定义”..请帮助解决这个问题,我可以打印一个字符串,但我如何可能更改字段的值。
`<this script will use when to get total value -->
<label for="quantity">Q'ty</label>
<input type="text" name="quantity" id="quantity" value="" /> <br>
<label for="salse">Salse Price:</label>
<input type="text" name="salse" id="salse" size="20" value=""/> <br>
<label for ="total">Total</label>
<input type="text" name="total" id="total" size="20" value =""/><br>
<script type="text/javascript">
var x = document.getElementById('quantity'),
y = document.getElementById('salse'),
total = document.getElementById('total');
function calculate_total(){
// Use your real calculation here
total.value = Number(x.value) * Number(y.value) ;
}
if( window.addEventListener ) {
x.addEventListener('change', calculate_total, false);
y.addEventListener('change', calculate_total, false);
} else if(window.attachEvent){
x.attachEvent('onchange', calculate_total);
y.attachEvent('onchange', calculate_total);
}
</script> `
现在可以通过用户输入数量和价格来填充总标签值.. 但无法检查 3 字段值是否已填充,也无法从数据库中打印价格值。