2010-08-12 57 views
0

如何檢查HTML控件是否存在?如何檢查一個html控件是否存在?

這是我的代碼:

var id = ... 
if(document.getElementById(id)!=null) 
{ 
    //do something 
} 

如果HTML控件無線電不起作用。

這是如何完成的?

+3

如果在單選按鈕或任何其他元素類型上存在「id」值,它肯定會工作。請注意,您的「ID」值在頁面上必須是唯一的 - 換句話說,沒有兩個元素可以共享單個「ID」值。 – Pointy 2010-08-12 14:31:09

+1

您能給出一個與此代碼無關的廣播輸入示例,並告訴我們您正在使用哪種瀏覽器?它應該工作。 – 2010-08-12 14:32:12

+0

我正在使用IE 7. 我的單選按鈕 我的單選按鈕2 ... – 2010-08-12 14:51:01

回答

1
function validate(ValFrm) { 
var len = ValFrm.elements.length; 

for (i = 0; i < len; i++) { 
if (ValFrm.elements[i].required == "Yes") { 
if (ValFrm.elements[i].value == "") { 
alert('The '+ValFrm.elements[i].title+' is required to contain data.'); 
ValFrm.elements[i].focus(); 
return false; 
} 
} 

if (ValFrm.elements[i].type == "radio") { 
if (!ValFrm.app[0].checked && !ValFrm.app[1].checked) { 
alert('Please accept or deny.'); 
return false; 
} 
} 
} 
} 
+0

..你可以通過選擇所有的代碼並點擊1和0的小按鈕來格式化代碼嗎? – Hristo 2010-08-12 14:37:24

+0

您可以使用工具欄上的'101010'按鈕來正確格式化您的代碼。 – 2010-08-12 14:37:29

+0

感謝您的提示,我注意到史蒂夫已經在我之前編輯它:) – Frode 2010-08-13 06:20:41

5

除了上面的評論,您應該爲每個單選按鈕使用一個獨特的id,但您可以爲您的無線電組使用相同的name。考慮以下示例:

<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
    <title>Testing document.getElementById()</title> 
</head> 
<body> 
    <input type="radio" id="my_radio_1_id" name="my_radios"> My Radio Button 1 
    <input type="radio" id="my_radio_2_id" name="my_radios"> My Radio Button 2 

    <script type="text/javascript"> 
    if (document.getElementById('my_radio_1_id')) { 
     alert('It Exists'); 
    } 
    </script> 
</body> 
</html> 

它會按預期提示'It Exists'

+0

+1非常容易的解決方案 – 2011-09-05 09:59:40