<body>
<form name="tradeSellForm" method="post" action="/Project/tradeSell.do">
<select name="offerState" onchange="imgShow.src='images/'+this.value+'.gif'">
      <option value="1" style="color:#FF9C00;width:79px;"> 水晶 </option>
      <option value="2" style="color:#FF9C00;width:79px;"> 金属 </option>
      <option value="3" style="color:#FF9C00;width:79px;"> 粮食 </option>
      <option value="4" style="color:#FF9C00;width:79px;"> 银币 </option>
    </select>
<input type="text" name="offerRes" value="0" >
<input type="button" name="b5" value=1000 onclick=haha5()>
</form>
</body>
<script>var sumsj=5000;var sumjs=2000;var sumls=3000;
var sumrb=4000;</script>
<script>
function haha5()
{
var d=document.tradeSellForm.offerState.selectedindex;
var x5=parseInt(document.tradeSellForm.offerRes.value);
var s5=parseInt(document.tradeSellForm.b5.value);
var number=new Array(sumsj,sumjs,sumls,sumrb) 
for(d=0;d<4;d++)
{x5=x5+s5;
alert(d);
if(x5<number[d]){document.tradeSellForm.offerRes.value=x5;}
else{document.tradeSellForm.offerRes.value=number[d];}
charAT(x5);}
}
</script>
我想实现这样的效果就是,当选择水晶的时候,输入框的值和sumsj比较,然后返回一个值。
当选择金属的时候,输入框的值和sumjs比较,然后返回一个值。
当选择粮食的时候,输入框的值和sumls比较,然后返回一个值。
当选择银币的时候,输入框的值和sumrb比较,然后返回一个值。

解决方案 »

  1.   

    var x5=parseInt(document.tradeSellForm.offerRes.value); 
    这个获取有问题哦
      

  2.   


    <body> 
    <form name="tradeSellForm" method="post" action="/Project/tradeSell.do"> 
    <select name="offerState" onchange="compareData(this);imgShow.src='images/'+this.value+'.gif'"> 
           <option value="1" style="color:#FF9C00;width:79px;"> 水晶  </option> 
           <option value="2" style="color:#FF9C00;width:79px;"> 金属  </option> 
           <option value="3" style="color:#FF9C00;width:79px;"> 粮食  </option> 
           <option value="4" style="color:#FF9C00;width:79px;"> 银币  </option> 
         </select> 
    <input type="text" name="offerRes" value="0" > 
    <input type="button" name="b5" value=1000 onclick=haha5()> 
    </form> 
    </body> 
    <script>var sumsj=5000;var sumjs=2000;var sumls=3000; 
    var sumrb=4000; </script> 
    <script>
    function  compareData(obj){
    var inputData=document.getElementById("offerRes").value
    if(obj.value=="1")
    {
    alert(parseInt(inputData,10)>parseInt(sumsj,10))
    }else if(obj.value=="2"){
    alert(parseInt(inputData,10)>parseInt(sumjs,10))
    }else if(obj.value=="3"){
    alert(parseInt(inputData,10)>parseInt(sumls,10))
    }else if(obj.value=="4"){
    alert(parseInt(inputData,10)>parseInt(sumrb,10))
    }

    }
    function haha5() 

    var d=document.tradeSellForm.offerState.selectedindex; 
    var x5=parseInt(document.tradeSellForm.offerRes.value); 
    var s5=parseInt(document.tradeSellForm.b5.value); 
    var number=new Array(sumsj,sumjs,sumls,sumrb)  
    for(d=0;d <4;d++) 
    {x5=x5+s5; 
    alert(d); 
    if(x5 <number[d]){document.tradeSellForm.offerRes.value=x5;} 
    else{document.tradeSellForm.offerRes.value=number[d];} 
    charAT(x5);} 

    </script> 
      

  3.   

    结果还是不对啊,是
    1.当我选择水晶的时候,这个时候输入框的的默认值为0,然后点击后面的那个1000的地方,输入框增加,但是这个值不能超过sumsj
    1.当我选择金属的时候,这个时候输入框的的默认值为0,然后点击后面的那个1000的地方,输入框增加,但是这个值不能超过sumjs
    1.当我选择粮食的时候,这个时候输入框的的默认值为0,然后点击后面的那个1000的地方,输入框增加,但是这个值不能超过sumls
    1.当我选择银币的时候,这个时候输入框的的默认值为0,然后点击后面的那个1000的地方,输入框增加,但是这个值不能超过sumrb