textbox.value无法在javascript中运行

时间:2015-03-28 15:06:11

标签: javascript html

以下是将值设置为文本框的简单JavaScript代码。但是,它似乎不起作用。我无法找到这个缺陷。此外,javascript仅适用于IE,而不适用于Chrome / Firefox。我如何摆脱这个麻烦?

<!DOCTYPE html>
<html>
    <head>
    <script type="text/javascript">
        function reportValue()
        {
            var form = document.getElementById("billgen");
            var radioArray = form["time"];
            var months;
            for(var i=0;i<radioArray.length;i++)
            {
                if(radioArray[i].checked)
                {   
                    months = radioArray[i].value;
                    break;
                }
            }
            if(months == "1")
            {  
                e=31*100;
                form["total"].value = e;    
                //document.getElementById("total").value = e; => not working as well
                return true;
            }  

           else{
            alert("Are you sure the instructor is " + months + "?\nYou may be underestimating the instructor!");
            return false;
            }   
        }
    </script>
    </head>
    <body bgcolor="white">
        <fieldset>
            <legend>Bill Generation</legend>
            <form id="billgen" method="post">
                <label><input type="radio" name="time" value="1" checked /> 1 Month </label>
                <label><input type="radio" name="time" value="3" /> 3 Month </label>
                <label><input type="radio" name="time" value="6" /> 6 Month </label>
                <label><input type="radio" name="time" value="12" /> 1 Year </label>
                <input type="submit" value="submit" onclick="reportValue();" />
                <p>        
                    <input type="text" id="total" name="total" />
                </p>
            </form>         
        </fieldset>     
    </body>
</html>

3 个答案:

答案 0 :(得分:1)

点击<input type="submit"/>会导致页面重新加载,因此,而不是&#34;提交#34;,请使用<button>元素或使用<input type="button"/>

答案 1 :(得分:0)

以下是代码getElementById(而不是getElementById[JSFiddle,而且有效。

答案 2 :(得分:0)

只需将代码移到html的末尾,就在</body>之前,它应该可以正常工作,我认为问题在于,在表单存在之前,您将表单设置为变量。