我是新来的,也是网络基础编程的新手。我有一个商店的数据库,现在我正在建立一个网站。在该数据库中有一个表调用库存,其中每个产品都有id,颜色,代码和大小。颜色代码和大小作为复合键。也有价格。
现在在我的网站上我创建了一个页面“salse.php”,其中输入将是代码,颜色,大小选择optons下拉菜单
<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脚本将自动从数据库中找到salse价格,并放入价格字段。
[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字段值是否填满,也无法从数据库中打印价格值。