我想告訴我的后端,我洗掉了它已經加載的分配檔案:
<input id="pic" name="pic" type="file" onclick="this.value=null;" onchange="uploadFile(this);">
<button id="pic-delete" type="button" onclick="removeFile(this);"><i someicon></i></button>
onclick 函式如下所示:
removeFile = function() {
var ipt = document.getElementById("pic");
ipt.value = null; // <--- problem here
console.log("worked...")
}
我現在的問題是:無論我什么都不做或點擊洗掉按鈕,我都可以區分瀏覽器網路選項卡中的請求。兩次輸入欄位都不顯示。我想添加ipt.value="DELETE"以便可以在后端捕獲它,但這會導致錯誤:
Uncaught DOMException: An attempt was made to use an object that is not, or is no longer, usable
從我可以告訴錯誤,如果我把任何東西,但總是發生ipt.value = null或ipt.value = ""在此行中。
使用完整代碼來顯示錯誤:https : //jsfiddle.net/rvc8sbjy/3/
uj5u.com熱心網友回復:
有一些錯誤。您嘗試提取 ID 的方式是錯誤的。一個更簡單的方法是只使用.replace
var inputFieldID = v.id.replace("-delete", "");
其次 - 您不能將值設定為非空字串。要重置它,只需將其設定為空:
ipt.value = "";
作業示例:
https://jsfiddle.net/5yqohjzv/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/406215.html
標籤:
