2012-04-07 51 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;