为什么这个javascript在chrome中不起作用?

时间:2014-09-10 08:27:21

标签: javascript internet-explorer google-chrome

这是一个非常简单的计算脚本,我不知道为什么它在chrome中不起作用。我很困惑。在这里搜索和网络几天都没有用。我被卡住了。

Isyerindeki Çalisan Sayisi: <input type="text" name="n"> <button onclick="myFunction()">Hesapla</button>
<p id="sonucat"></p>
<p id="sonuct"></p>
<p id="sonucct"></p>
<script>
    function myFunction() {
        var a = Number(n.value);
        var at = 4
        var t = 6
        var ct = 8
        var sat = a * at;
        var st = a * t;
        var sct = a * ct;

        if (a <= 9) { 
            var sat = 25; 
            document.getElementById("sonucat").innerHTML = "AZ TEHLIKELI isyerlerinde yilda en az " + sat + ",";
            document.getElementById("sonuct").innerHTML = "TEHLIKELI isyerlerinde ayda en az " + st + ",";
            document.getElementById("sonucct").innerHTML = "ÇOK TEHLIKELI isyerlerinde ayda en az " + sct + " dakika isyeri hekimi çalistirmakla yükümlüsünüz.";
        }
        else {
            document.getElementById("sonucat").innerHTML = "AZ TEHLIKELI isyerlerinde ayda en az " + sat + ",";
            document.getElementById("sonuct").innerHTML = "TEHLIKELI isyerlerinde ayda en az " + st + ",";
            document.getElementById("sonucct").innerHTML = "ÇOK TEHLIKELI isyerlerinde ayda en az " + sct + " dakika isyeri hekimi çalistirmakla yükümlüsünüz.";
        }
    }
</script>

2 个答案:

答案 0 :(得分:2)

这是因为当Chrome没有时,IE会根据元素name创建变量,因此您的n.value没有任何意义。

因此您需要选择它,例如添加id="a"然后使用document.getElementById("a")

您的onclick也是错误的,myFunction()会在读取DOM而不是点击时调用该函数,应为myFunction。在绑定方面也最好远离属性。

function myFunction() {
    var a = Number(document.getElementyId("myId").value);
    var at = 4
    var t = 6
    var ct = 8
    var sat = a * at;
    var st = a * t;
    var sct = a * ct;

    if (a <= 9) { 
    var sat = 25; 
        document.getElementById("sonucat").innerHTML = "AZ TEHLİKELİ işyerlerinde yılda en az " + sat + ",";
        document.getElementById("sonuct").innerHTML = "TEHLİKELİ işyerlerinde ayda en az " + st + ",";
        document.getElementById("sonucct").innerHTML = "ÇOK TEHLİKELİ işyerlerinde ayda en az " + sct + " dakika işyeri hekimi çalıştırmakla yükümlüsünüz.";
    }
    else {
        document.getElementById("sonucat").innerHTML = "AZ TEHLİKELİ işyerlerinde ayda en az " + sat + ",";
        document.getElementById("sonuct").innerHTML = "TEHLİKELİ işyerlerinde ayda en az " + st + ",";
        document.getElementById("sonucct").innerHTML = "ÇOK TEHLİKELİ işyerlerinde ayda en az " + sct + " dakika işyeri hekimi çalıştırmakla yükümlüsünüz.";
    }
}

答案 1 :(得分:1)

你宣布n.value错误,

更改这两行

<input type="text" name="n">
var a = Number(n.value);

到这2个

<input type="text" name="n" id="n">

var n = document.getElementById('n');
var a = Number(n.value);