[英]whether event.preventDefault (); not support in internet explorer?
我有event.preventDefault();
和event.stopPropogation();
在我的JavaScript函數中。 它在Chrome或Mozilla中運行良好,但是如果我使用Internet Explorer,則當我按下“提交”按鈕時,頁面會刷新。
這是我的JavaScript
function hitung() { var e = (document.getElementById("ifin").value); var a = (document.getElementById("Furniture").value); var panjang = (document.getElementById("ipanjang").value); var ht = 0.0; var hf = 0.0; var total = 0.0; if (e == "hpl") { hf = 0.0; } else if (e == "cat") { hf = 0.5; } else { hf = 0.0; } if (a == "kitchen") { ht = 1.7; } else if (a == "meja") { ht = 2.3; } else { ht = 0.0; } total = panjang * ht + hf; document.getElementById("ototal").innerHTML = "Harga Total : Rp." + total.toFixed(2) + "0.000,00" + "<br>Sudah termasuk ongkir"; event.preventDefault(); event.stopPropogation(); }
這是我的提交按鈕
<input type="submit" value="Submit" align="center" Onclick="hitung()" class="btn btn-success" >
有什么辦法可以使此工作在IE 8中進行?
您的代碼中有錯字。 這是event.stopPropagation();
不是event.stopPropogation();
。 我也看不到您在哪里提供事件變量。 如果是處理程序,則應將其放入hitung(event)
。 編碼愉快! :)
要處理IE8及以下版本,您需要檢查該方法是否存在,如果不存在,則只需return false
。 IE8應該能夠處理該問題。
這是檢查的基本方法:
function eventHandler(e){
///////////////////////
/// Place your code here
///////////////////////
if (typeof e.preventDefault === "function") {
e.preventDefault();
} else {
return false;
}
}
然后,您將像這樣處理表單提交:
<form method="post" action="/to/url" onsubmit="eventHandler(event)">
<input type="text" name="name">
<input type="submit" value="Submit your name">
<form>
否則,您將通過如下所示的click事件來處理它:
<form method="post" action="/to/url">
<input type="text" name="name">
<input type="button" value="Submit your name" onclick="eventHandler(event)">
<form>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.