私はここでは初めてで、Web ベースのプログラミングも初めてです。私はショップのデータベースを持っていて、今はそのサイトを作っています。そのデータベースには、すべての製品に ID、色、コード、およびサイズがあるテーブル call stock があります。そのカラー コードとサイズは複合キーとして機能します。また、価格もあります。
今私のサイトで私はページ「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 つのフィールド値が入力されているかどうかを確認できず、データベースから価格値を出力することもできません。