Javascript 不能正确更改内部 html

Javascript does not correctly change the inner html

本文关键字:内部 html 不能 Javascript      更新时间:2023-09-26

这是我的Javascript...

<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>

我的脚本已成功执行,除了最后一部分。我希望div"测试"在通过脚本后说出var y是什么,但它不会改变。

你应该做这样的事情:

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

如果没有引号,testing 正在尝试引用一个名为 testing 的变量,而不是获取带有 id='testing'<div>

最后一句是错误的

应为:document.getElementById("testing").innerHTML = y;