2012-04-07 52 views
-1

這是我的Javascript ...JavaScript不正確更改內部HTML

<script type="text/javascript"> 

    function validator() { 
     var x = parseInt(document.MyForm.textnuming.value); 
     alert(x); 


     if (document.getElementById('rbsm').checked) { 
      if(x == 0){ 
       var y = 7.70; 
      } 
      else if(x == 1){ 
       var y = 8.41; 
      } 
      else if(x == 2){ 
       var y = 9.10; 
      } 
      else if(x == 3){ 
       var y = 9.65; 
      } 
      else{ 
       var y = 9.65+(0.71*x); 
      } 
     } 


     else if (document.getElementById('rbme').checked || document.getElementById('rbla').checked) { 
      if(x == 0){ 
       var y = 13.84; 
      } 
      else if(x == 1){ 
       var y = 14.95; 
      } 
      else if(x == 2){ 
       var y = 15.99; 
      } 
      else if(x == 3){ 
       var y = 17.04; 
      } 
      else{ 
       var y = 17.04+(1.09*x); 
      } 
     } 


     else if (document.getElementById('rbmi').checked) { 
      if(x < 3){ 
       var y = 3.99; 
      } 
      else{ 
       var y = 4.28; 
      } 
     } 
     else { 
      alert("Error!"); 
     } 

     document.getElementById(testing).innerHTML = y; 





} 




</script> 

和它下面是我的HTML表單...

<body> 
<form name="MyForm"> 
    <input type="radio" name="rbsize" value="small" id="rbsm" />Small<br /> 
    <input type="radio" name="rbsize" value="medium" id="rbme" />Medium<br /> 
    <input type="radio" name="rbsize" value="large" id="rbla" />Large<br /> 
    <input type="radio" name="rbsize" value="mini" id="rbmi" />Mini<br /> 
    Number of Ingredients: <input type="text" name="textnuming" width="2" maxlength="2" /> 
    <input type="button" value="Press me!" onClick="validator()" /> 

</form> 
<div id="testing">Price!</div> 




</body> 

除了成功地執行了我的腳本最後一部分。我希望格「測試」的說法無論變種y是通過腳本去之後,但它不會改變..

回答

2

你應該做這樣的事情:

document.getElementById('testing').innerHTML = '' + y; 

沒有引號,testing正試圖引用一個名爲testing的變量,而不是和id='testing'

+0

解決,謝謝! – Wilson 2012-04-07 01:28:50

+0

@JesusSqueegee當然,很樂意幫忙! – 2012-04-07 01:36:20

0

最後一句是錯的

應該是:document.getElementById("testing").innerHTML = y;