0

これがどれほど柔軟かを見ようとしています。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>
4

4 に答える 4

3

getElementsByIdする必要がありますgetElementByIds後はありませんElement)。1つの要素への参照、またはを返すだけnullです。

NodeListはではなく参照を返すため、そのプロパティ[0]にアクセスするときには必要ありません。value

于 2012-07-18T06:04:58.433 に答える
1

IdsはexplicitlyIDを2回使用しているページで使用されており、その乗り越えは別のIDを使用してみて、修正されるかどうかを知らせてください。

<input type="text" id="foo" class="bar" name="domain">
<div id="foo" onclick="check_domain_input()">Click</div>
于 2012-07-18T06:10:55.760 に答える
0

フェッチする要素も、で宣言する必要があります。id="foo"

このリンクを参照してください。実際の例

于 2012-07-18T06:06:30.510 に答える
0

またはこれを渡す、

onclick="check_domain_input(this)"

次に、IDを取得します。

function check_domain_input(t) { alert(t.id); ...
于 2012-07-18T06:08:23.430 に答える