Javascript:變更 input=file 的值

RojerChen.2013.04.15


通常在做檔案上傳的時候都會使用這種方法來做檔案上傳,當使用者按下按鈕後可以選擇自己電腦上要上傳的檔案,取得 input=file 的 value 很容易,但是要變更 value 就有困難了。


基於安全性的關係是沒辦法直接控制的 ( IE不行 Chrome 可以),你可以取得該物件的值但是卻不能設定,後來查到 input file 動態更改 value 的問題 這篇文章有說透過 outerHTML 的方法來達到效果。

//透過變更物件的 outerHTML 來達到效果
function setFileValue(elementId,elementName){
obj = document.getElementById(elementId);
obj.value = '';
obj.outerHTML = "<\input id=elementId name=elementName type="file"/>";
}
//因為編輯瀏覽的關係,所以input前面的\請自行刪除


The outerHTML property is useful if you want get the source of an element at runtime and if you want to replace the source code of an element with HTML formatted text

The innerHTML property provides similar functionality, it sets or retrieves the source code excluding the opening and closing tags of the element.

If you need the pure text content of an element (without HTML tags), use the innerTexttextContent and outerText properties

這篇文章 有 innerHTML 和 outerHTML 的 Demo Sample,不了解可以可以參考一下。

    Blogger Comment

0 意見: