试图看看这有多灵活。 http://jsfiddle.net/PJSha/4/我已经将get元素从Name更改为ClassName,当我尝试用Id实现它时,它们都有效但不起作用...是否有原因
代码:
<link rel="stylesheet" href="http://code.jquery.com/ui/1.8.21/themes/base/jquery-ui.css" type="text/css" media="all" />
<input type="text" id="foo" class="bar" name="domain">
<div onclick="check_domain_input()">Click</div>
<div id="dialog" title="Attention!" style="display:none">
Please enter a domain name to search for.
</div>
<script>
function check_domain_input() {
var domain_val = document.getElementById('foo');
if (domain_val[0].value.length > 0) {
return true;
}
$( "#dialog" ).dialog();
return false;
}
</script>
答案 0 :(得分:3)
getElementsById
应该是getElementById
(s
之后没有Element
)。它只返回对一个元素的引用,或null
。
因为它返回引用而不是NodeList
,所以当您访问其[0]
属性时,value
不是必需的。
答案 1 :(得分:1)
Id
在您正在使用ID两次的页面中使用explicitly
并且过度使用不同的ID并让我知道它是否已修复。
<input type="text" id="foo" class="bar" name="domain">
<div id="foo" onclick="check_domain_input()">Click</div>
答案 2 :(得分:0)
您要获取的元素也必须使用id="foo"
请参阅此链接..a practical example
答案 3 :(得分:0)
或通过这个,
onclick="check_domain_input(this)"
然后获取id:
function check_domain_input(t) { alert(t.id); ...