为什么这个脚本不能工作?(JS)

why isnt this script working? [JS]

本文关键字:JS 工作 不能 脚本 为什么      更新时间:2023-09-26
<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>

我是一个javascript新手,是的,我诚实地尝试在发布之前帮助自己。

我只是想做一个简单的程序,从按钮中接受用户输入,然后根据用户输入的值增加一个全局数组元素。问题是我无法让全局数组正常工作。我做错了什么?

正如在注释中建立的那样,问题是您增加了值,但随后对它们不做任何操作。textarea的内容已经设置好了,当最初用来构建它的变量发生变化时,它不会自动重建。

创建textarea时给它一个id:

document.writeln("<textarea cols='80' rows='15' id='results'>"+display()+"<'/textarea>");

将此添加到calculateSalary()函数中,以便更新textarea:

document.getElementById( 'results' ).value = display();

还将switch语句更改为switch( true ),以便它增加正确的变量。

演示:http://jsfiddle.net/QkQ5v/