2012-07-18 107 views
0

一直試圖看看這是多麼靈活。 http://jsfiddle.net/PJSha/4/我從名稱變更的get元素類名都工作,但是當我嘗試用編號...有一個原因使用getelement通過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> 

回答

3

getElementsById應該是getElementById (在Element之後沒有s)。它只返回一個元素的引用,或者null

因爲它返回一個引用,而不是NodeList,當您訪問其value屬性時,不需要[0]

+0

所以「s」與「名稱」和「className」一起使用,但不與「Id」一起使用。這是否意味着在選擇「名稱」或「類」時可以選擇多個然後一個元素? – david 2012-07-18 06:07:04

+0

更新沒有s仍然不工作http://jsfiddle.net/PJSha/3/ – david 2012-07-18 06:08:29

+1

@DavidWalter你需要申請我在我的答案的第二段寫的。 – alex 2012-07-18 06:11:24

0

這是要求你取的元素應該也被宣佈爲id="foo"

請參閱本link..a practical example

+0

它是 檢查http://jsfiddle.net/PJSha/4/ – david 2012-07-18 06:12:45

+0

請檢查上面的鏈接。 – 2012-07-18 06:20:04

+0

需要用於生成自定義提醒的代碼 – david 2012-07-18 08:33:57

0

或者通過這個,

onclick="check_domain_input(this)" 

,然後讓編號:

function check_domain_input(t) { alert(t.id); ... 
1

Id s在您使用ids兩次的頁面中使用explicitly,並且它的騎乘嘗試使用不同的ID並讓我知道它是否修復。

<input type="text" id="foo" class="bar" name="domain"> 
<div id="foo" onclick="check_domain_input()">Click</div> 
相關問題