2015-07-28 55 views
0

如果我點擊錯誤函數,如何更改文本框的顏色?我嘗試下面的代碼,但它不工作,只會顯示錯誤消息。使用getElementById更改樣式背景屬性

<Script> 
function fnName(ID) 
{ 
    var flag = true; 
    if(document.mainform.NAME.value == "") 
    { 
     error_function("Please enter the Name.",ID); 
     flag = false; 
    } 
    else 
    { 
     release_function(ID) 
     flag = true; 
    } 
    return flag; 
} 
function error_function(message,IDs) 
{ 
     var ID = '"' + IDs + '"'; 

     document.getElementById("proposererrMsg").innerHTML  = message; 
     document.getElementById("proposererrMsg").style.display = "inline"; 
     document.getElementById(ID).style.background = "#DDDDDD"; //this line not working 
     document.getElementById(ID).style.border = "thin solid red"; // this line not working 

} 
</script> 

<label id="proposererrMsg" class="errMsg"></label> 
<input type="text" name="NAME" id="NAME" value="<%=NAME%>" onblur="fnName(this.id);" /> 
+1

'.error {背景色:#ddd}'+'的document.getElementById(ID).className = 「錯誤」;' – Andreas

回答

2

ID您使用有不必要的報價,讓你嘗試用不存在的ID引用一個元素,只需直接使用IDs參數:

document.getElementById(IDs).style.background = "#DDDDDD";

+0

謝謝你。問題解決了。 – user3835327

+0

你可以試試看我的邊界嗎?我的邊框不起作用 – user3835327

+0

也使用'IDs'而不是'ID'。 – wOxxOm

-1

使用MDN - backgroundColor

<script> 
 
function fnName(id){ 
 
    document.getElementById(id).style.backgroundColor = "red"; 
 
} 
 
</script>
<input type="text" name="NAME" id="NAME" value="" onblur="fnName(this.id);" /

+0

爲什麼要投票?這是行不通的嗎?有禮貌解釋。 –

+0

是不是我,你的答案中的代碼是正確的,但理由可能是缺乏解釋爲什麼發佈的代碼無法正常工作。 – wOxxOm