選單傳值問題

edited 十二月 2014 in Javascript
大家好:
有個問題想請教各位幫忙 >"<
自己實在看了很久也看不出來為什麼...

最近網頁要製作一個使用選單做計算的功能
(EX:選擇數量和樣式會計算出對應的價格)
因為對js也不熟,所以參考別人的範例去做修改
但怎麼樣都改不好...O_Q
我把那段程式碼貼上來,希望大家能一起幫我導正
謝謝!!
<script type="text/javascript" language="JavaScript">
function OnChange(txt10,txt20){
   document.price_for.gd.value = txt10;
   document.price_for.gd_m.value = txt20;
   (txt10!="")?txt10=parseInt(txt10,10):txt10=0 ;
   (txt20!="")?txt20=parseInt(txt20):txt20=0 ;

    switch (txt10){
        case 100:
		total = txt10 * 22
		break;
        case 150:
		total = txt10 * 17;
		break;
		default :
		total = txt10;
		break;
		}
    document.getElementById('span1').innerHTML = total ;
}
</script>
<form class="price" name="price_for" id="price_for" method="get">
<div class="price_div" align="left" style="width:600px; background-color:#CCC; padding:5px;">
價格試算 : 預計訂購 
<select name="price_qua" onChange="OnChange(price_qua.value);">
  <option value="0" selected="selected">請選擇</option>
  <option value="100">100</option>
  <option value="150">150</option>
  <option value="200">200</option>
  <option value="300">300</option>
  <option value="400">400</option>
  <option value="500">500 up</option>
</select> 張 / 
材質 : 
<select name="price_mat" id="price_mat" onChange="OnChange(price_mat.value);">
  <option value="0" selected="selected">請選擇</option>
  <option value="A">一般材質</option>
  <option value="B1">萊妮</option>
  <option value="B2">象牙</option>
  <option value="C">細紋</option>
  <option value="D">星幻</option>
</select>
<input type="text" id="gd" name="gd" size="6" onchange="">
<input type="text" id="gd_m" name="gd_m" size="6" onchange="">
</div>
</form>

評論

  • 早安
    不知道是不是這樣 你說的有點模糊
    你 onChange 的索引值 沒有代入
    如果有問題再說~
    <script type="text/javascript" language="JavaScript">
    	
    function OnChange(txt10,txt20){
       document.price_for.gd.value = txt10;
       document.price_for.gd_m.value = txt20;
       (txt10 != "") ? txt10 = parseInt(txt10,10) : txt10 = 0 ;
       (txt20 != "") ? txt20 = parseInt(txt20) : txt20 = 0 ;
    
        switch (txt10){
           case 100:
            total = txt10 * 22
    	break;
          case 150:
    	total = txt10 * 17;
    	break;
          default :
    	total = txt10;
    	break;
    		}
        document.getElementById('span1').innerHTML = total ;
    }
    
    </script>
    <form class="price" name="price_for" id="price_for" method="get">
    <div class="price_div" align="left" style="width:600px; background-color:#CCC; padding:5px;">
    價格試算 : 預計訂購 
    <select name="price_qua" id="price_qua"  onChange="OnChange(price_qua.value,price_mat.value);">
      <option value="0" selected="selected">請選擇</option>
      <option value="100">100</option>
      <option value="150">150</option>
      <option value="200">200</option>
      <option value="300">300</option>
      <option value="400">400</option>
      <option value="500">500 up</option>
    </select> 張 / 
    材質 : 
    <select name="price_mat" id="price_mat" onChange="OnChange(price_qua.value,price_mat.value);">
      <option value="0" selected="selected">請選擇</option>
      <option value="A">一般材質</option>
      <option value="B1">萊妮</option>
      <option value="B2">象牙</option>
      <option value="C">細紋</option>
      <option value="D">星幻</option>
    </select>
    <input type="text" id="gd" name="gd" size="6" onchange="">
    <input type="text" id="gd_m" name="gd_m" size="6" onchange="">
    </div>
    <span id="span1"></span>
    </form>
    
  • clouding>>
    謝謝你!!
    做出我想要的效果了!!
    看了你的程式碼我知道問題出在哪裡了!!
    謝謝!!
Sign In or Register to comment.