2010-08-12 41 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

相关问题