Javascript 为什么这个脚本不起作用?[JS] 电子表格=新数组(9),摘要=”; 对于在注释中建立的(var i=0;i

Javascript 为什么这个脚本不起作用?[JS] 电子表格=新数组(9),摘要=”; 对于在注释中建立的(var i=0;i,javascript,arrays,Javascript,Arrays,,问题是您增加了值,但对它们不做任何处理。textarea的内容已经设置,并且在最初用于构建它的变量更改时不会自动重建 创建textarea时为其指定一个id: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> <script type="text/javascript">

,问题是您增加了值,但对它们不做任何处理。textarea的内容已经设置,并且在最初用于构建它的变量更改时不会自动重建

创建textarea时为其指定一个id:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>

<script type="text/javascript">
    spreadSheet= new Array(9),summary="";
    for(var i=0; i<spreadSheet.length; i++)
        spreadSheet[i]=0;

    document.writeln("<h1>Poll<\/h1><form method='get' id='tally' action=''>");
    document.writeln("<p>Enter Sales Amount:<br/><input type='text' id='cash'/><input type='button' value='calculate' onclick='calculateSalary()'/><\/p>");
    document.writeln("<\/form>");

    function calculateSalary(){
            var value=document.getElementById("cash").value;
            switch(value){
                case (value<300):++spreadSheet[0]; break;
                case (value<400):++spreadSheet[1]; break;
                case (value<500):++spreadSheet[2]; break;
                case (value<600):++spreadSheet[3]; break;
                case (value<700):++spreadSheet[4]; break;
                case (value<800):++spreadSheet[5]; break;
                case (value<900):++spreadSheet[6]; break;
                case (value<1000):++spreadSheet[7];break;
                default:++spreadSheet[8];break;
            }
    }
    function display(){
        summary="Number of People who earned salaries in the following ranges: \n\n";
        summary+="$200 – 299:\t" + spreadSheet[0] + "\n";
        summary+="$300 – 399:\t" + spreadSheet[1] + "\n";
        summary+="$400 – 499:\t" + spreadSheet[2] + "\n";
        summary+="$500 – 599:\t" + spreadSheet[3] + "\n";
        summary+="$600 – 699:\t" + spreadSheet[4] + "\n";
        summary+="$700 – 799:\t" + spreadSheet[5] + "\n";
        summary+="$800 – 899:\t" + spreadSheet[6] + "\n";
        summary+="$900 – 999:\t" + spreadSheet[7] + "\n";
        summary+="$1000 and over\t" + spreadSheet[8] + "\n";
        return summary;
    }
    document.writeln("<textarea cols='80' rows='15'>"+display()+"<\/textarea>");

</script>
</head>
<body>
</body>
</html>
另外,将switch语句更改为
switch(true)
,以增加正确的变量


演示:

日志中没有错误消息?为什么要使用
document.write()
部分中?它应该在
中。基本问题是您增加了
电子表格
变量,但什么也不做。页面内容不会自动更新。此外,如果您要使用切换技术,它应该是
切换(true)
。为什么它被标记为[AJAX]?
document.writeln("<textarea cols='80' rows='15' id='results'>"+display()+"<\/textarea>");
document.getElementById( 'results' ).value = display();