Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Internet explorer oninput功能不工作_Javascript_Internet Explorer - Fatal编程技术网

Javascript Internet explorer oninput功能不工作

Javascript Internet explorer oninput功能不工作,javascript,internet-explorer,Javascript,Internet Explorer,我对IE有问题。 我在JS中创建了带有计算的表单,它使用输入类型范围。 以下是指向JSFIDLE的链接: 和html代码: <form action="" method="post" name="checkincome"> <label>Persons</label> <input id="persons" name="persons" type="range" min="1" max="41" value="10" oninput="chckIncom

我对IE有问题。 我在JS中创建了带有计算的表单,它使用输入类型范围。 以下是指向JSFIDLE的链接: 和html代码:

<form action="" method="post" name="checkincome">
<label>Persons</label>
<input id="persons" name="persons" type="range" min="1" max="41" value="10" oninput="chckIncome();" />
<p id="personsvalue">10</p>
<br />
<label title="">Sale per person</label>
<input id="starters" name="starters" type="range" value="21.2" min="0.0" max="100.0" step="5" oninput="chckIncome();" />
<p id="startersvalue">21</p>
<br />
<p id="resultsvalue"></p>
<p style="text-align:center; padding-top:10px;">
    <input name="Reset" class="btn btn-large" type="reset" value="Reset" />
</p>
它适用于除IE以外的所有浏览器。
有人知道如何修复它吗?

旧版本的Internet Explorer不支持oninput
。由于当您进行输入时,
oninput
会触发,因此您可以使用其他事件来执行几乎相同的操作

由于您使用的是
range
,我建议您使用
onmousemove

功能测试(){ var x=document.getElementById(“testInput”).value; document.getElementById(“demo”).innerHTML=x; }
oninput
仅从IE9起受支持。你可以在旧的浏览器上使用onkeyup。有趣的是,我试过IE 11。相同的。MaxArt解决方案非常有效。
function chckIncome() {
var price = 49.9;
var regular = 199.9;
var form = document.forms.checkincome;
var x = parseFloat(form.persons.value);
var y = parseFloat(form.starters.value);
var z = 2.5;
var sum1 = (x * y) * price;
var sum2 = ((x * y) * z) * regular;
var sum3 = ((sum1 + sum2) * 0.25).toFixed(0);
sum3 = sum3.toString().replace(/\B(?=(\d{3})+(?!\d))/g, " ");
document.getElementById('personsvalue').innerHTML = form.persons.value;
document.getElementById('startersvalue').innerHTML = form.starters.value;
document.getElementById('resultsvalue').innerHTML = sum3 + " kr";
}