Reputation: 11
It is a very simple calculation script and I don't know why it does not work in chrome. I'm so confused. A search here and the net for days did not work. I'm stuck.
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>
Upvotes: 0
Views: 57
Reputation: 10874
It's because IE create variable based on the element name
when Chrome does not so your n.value
has no meaning for it.
So you need to select it, for example add an id="a"
then use document.getElementById("a")
Your onclick
is also wrong though, myFunction()
would call the function when the DOM is read not on click, should be myFunction
. Also best to stay away from attribute when it comes to binding.
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.";
}
}
Upvotes: 2
Reputation: 2413
your declaring n.value wrong,
change these 2 lines
<input type="text" name="n">
var a = Number(n.value);
To these 2
<input type="text" name="n" id="n">
var n = document.getElementById('n');
var a = Number(n.value);
Upvotes: 1