textbox.value在javascript中不起作用

textbox.value在javascript中不起作用,javascript,html,Javascript,Html,下面是一个简单的javascript代码,用于将值设置到文本框中。但是,它似乎不起作用。我找不到缺陷。此外,javascript仅在IE中工作,而在Chrome/Firefox中不起作用。我怎样才能摆脱这个麻烦呢 <!DOCTYPE html> <html> <head> <script type="text/javascript"> function reportValue() {

下面是一个简单的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>

函数reportValue()
{
var form=document.getElementById(“billgen”);
var无线电阵列=形式[“时间”];
var月;
对于(var i=0;我也不工作
返回true;
}  
否则{
警告(“您确定讲师是“+月+”?\n您可能低估了讲师!”);
返回false;
}   
}
票据生成
1个月
3个月
6个月
一年


这是使用
getElementById(
而不是
getElementById)的代码[
:它是有效的。

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

上单击会导致页面重新加载,而不是“提交”,使用元素或使用
文档。getElementById[“billgen”]
的用法不正确,您没有调用该方法,而是尝试查找属性。相反,请调用
文档.getElementById(“billgen”)
@PaulS.我也试过了。它仍然有效。但值是自动设置和清除的。即使在JSFIDLE中,也会抛出一个错误,CRLF验证失败。这是什么?它有效。但值是自动设置和清除的。即使在jsfiddle中,也会抛出一个错误,CRLF验证失败。这是什么?Try使用类型按钮而不是像下面我建议的答案那样提交。单击类型为提交的按钮会自动触发页面重新加载