簡體   English   中英

javascript函數在chrome中工作但在IE8中不起作用

[英]javascript function working in chrome but not working in IE8

我的頁面網址是

http://somain.com/test.php?id=1&mview=5

登錄后,上面的url顯示選擇名稱和圖像。 我們必須單擊添加新的條目按鈕來添加選擇圖像,並且要刪除我們必須單擊刪除按鈕。 但刪除按鈕和文件上傳部分在Chrome中工作正常,在IE 8中無法正常工作。

我使用javascript函數添加圖像供選擇。 但是所有的js函數在chrome中運行良好,但它在IE 8中不起作用。這是刪除文件上傳部分的簡單編碼

function addnewchoice(val)
{
var remove = document.createElement("input");
remove.setAttribute("type", "button");
remove.setAttribute("value", "Remove");
remove.setAttribute("onclick", "Remover("+ val +")");
remove.setAttribute("class", "removechoice");
remove.setAttribute("name", removename);
}

function Remover(idval)
{
document.forms['choiceadd']['imageshow'+idval].style.display="none";
document.forms['choiceadd']['choicefile'+idval].style.display="none";
document.getElementById('fileuploadover'+idval).style.display="none";
document.forms['choiceadd']['choicename'+idval].style.display="none";
document.forms['choiceadd']['choicename'+idval].value="";
document.forms['choiceadd']['remove'+idval].style.display="none";
document.getElementById('br'+idval).style.display="none";
}

有人請幫我解決這個問題。 非常感謝您的閱讀並幫助我解決這個問題

根據這里的第一個答案 - IE不允許onClick事件動態創建DOM'a'元素 - 當動態更改元素的onclick屬性時,IE8不會自動綁定click事件處理程序。 也就是說,您要在HTML中設置標記的onclick屬性,但瀏覽器不會將該屬性轉換為實際的事件處理程序。

嘗試更換

remove.setAttribute("onclick", "Remover("+ val +")");

var removeFunc = function() { Remover(val) };
if (!remove.addEventListener) //Old IE
  remove.attachEvent("onclick", removeFunc);
else //Other browsers
  remove.addEventListener("click", removeFunc );

這實際上直接綁定了click事件處理程序,而不是設置屬性,期望瀏覽器通過綁定它來做出反應。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM