2017-09-13 64 views
-3

我應該如何更正此代碼?當涉及到document.getElementById ....什麼時候在最後使用.value?Javascript錯誤...無法設置爲空的屬性值

function processInput() { 
if(i <= 5){ 
    listItem = "item" + i; 
    document.getElementById("listItem").value = document.getElementById("toolBox").value; 
    document.getElementById("toolbox") = ""; 
    if(i == 5){ 
    document.getElementById("resultsExpl") = "Thank you for your suggestions"; 
    } 

    i += 1; 
} 
+0

document.getElementById()返回DOM元素。當.value()一個dom元素時,會發生以下兩種情況之一:如果dom元素具有值屬性(如文本字段或單選按鈕,選擇元素),那麼將返回該值。如果情況並非如此,那麼將返回DOM元素的開始和結束標記之間的文本。 –

+0

現在,請嘗試自己,如果出現問題,請製作一個jsfiddle並在此處添加它。 –

回答

0

壞作業......這代碼看起來忙碌反正,我不知道這是什麼需要做的,但像這樣的東西再次嘗試:

function processInput() { 
    if(i <= 5){ 
     listItem = "item" + i; 
     document.getElementById("listItem").value = document.getElementById("toolBox").value; 
     document.getElementById("toolbox").textContent = ""; 
     if(i == 5){ 
      document.getElementById("resultsExpl").textContent = "Thank you for your suggestions"; 
     } 
     i++; 
    } 
} 

或者也嘗試加入。價值結束而不是.textContent。

0

的兩行錯誤: document.getElementById("toolbox") = ""; document.getElementById("resultsExpl") = "Thank you for your suggestions";

那些可能修改爲:

document.getElementById("toolbox").innerHTML = ""; document.getElementById("resultsExpl").innerHTML = "Thank you for your suggestions";

如果你想設置一個文本輸入的內容,你可以使用.value的,並對於其他DOM,您可能需要.innerHTML(設置HTML內容)或.innerText(設置文本內容)。

你應該檢查你使用getElementById函數查詢的dom是否存在。

相關問題