![](/img/trans.png)
[英]Javascript issue with internet explorer, works fine in google chrome but not in ie,
[英]Why following javascript is not working in Internet Explorer & Mozilla but works fine in google chrome?
我在JavaScript中使用會話屬性,然后在if-else中使用它。 該腳本假設在用戶一些錨標記單擊錨標記時運行。
<a id="someId" href="/someurl" onClick="checkSession(this.id)">Link</a>
<a id="someOtherId" href="/someurl" onClick="checkSession(this.id)">Link2</a>
在體內
<script type="text/javascript">
function checkSomething(clickedId){
event.preventDefault();
var value= <%=(int) session.getAttribute("key")%>;
if(value != -1){
window.location = $('#'+clickedId).attr('href');
}else {
alert("Please Select a value first then click on the link.");
$("#someInput").focus();
}
};
</script>
腳本可在chrome上完美運行,但在mozilla和IE上無法運行。 在mozilla上,我可以看到錨標記已與該javascript綁定,但尚未運行。
傳遞事件而不是ID。 另外,您不需要jQuery即可獲取元素的href
。 只需使用原始JavaScript:
<a id="someId" href="/someurl" onClick="checkSession(event)">Link</a>
<a id="someOtherId" href="/someurl" onClick="checkSession(event)">Link2</a>
<script>
function checkSession(event) {
event.preventDefault();
var clickedId = event.target.id;
var href = event.target.href;
// etc
}
</script>
或者,您可以:
<a id="someId" href="javascript:checkSession('/someurl')">Link</a>
<a id="someOtherId" href="javascript:checkSession('/someOtherurl')">Link2</a>
<script>
function checkSession(url) {
var value= <%=(int) session.getAttribute("key")%>;
if(value != -1){
window.location = url;
} else {
alert("Please Select a value first then click on the link.");
$("#someInput").focus();
}
}
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.