-1

jquery は初めてなので、どこかで重要な要素を見逃している可能性があります。私は過去数時間掘り下げており、いくつかの解決策を試しましたが、デリマを解決するものは何もありません. 「textboxUsername」がフォーカスを失ったら、コードを実行するだけです。ストレートな JavaScript では、特定の入力要素に onblur() イベントを追加して関数を呼び出すことでこれを行っていました。アドバイスをいただければ幸いです...

HTML:

<div>
<div class="heading">
    <span class="inside_heading">Register</span>
</div>
<div class="content_under_heading">
    <div class="rounded_div">
        <ul class="ulRegister">
            <li class="descLabel">
                Username:
            </li>
            <li class="inputInfo">
                <input type="text" id="textboxUsername"/>
            </li>
            <li class="successCheck" id="usernameSuccessCheck">
                <img id="usernameCheckImage" src="templates/images/check.png" class="noShow"/>
                <img id="usernameXImage" src="templates/images/check.png" class="noShow"/>
            </li>
        </ul>

        <label id="labelUsernameExists" class="registerIssue"></label>

    </div>
</div>
</div>

JavaScript

$(document).ready(function(){
//textboxUsername blur event
$("#textboxUsername").blur(function(){
    var possibleUsername = $("#textboxUsername").val();
    if(possibleUsername.length != 0){
        if(possibleUsername.length < 6){
            //display message
            var message = "Usernames must be at least 6 characters";
            $("#labelUsernameExists").text(message);
        } else{
            //ajax
        }
    }
});
});
4

1 に答える 1

1

この問題は非常に初心者でした。ページに動的に追加されていたオーバーレイ div の要素で、以前に「textboxUsername」の ID を使用していたことがわかりました。投稿されたコードは、メイン アプリケーションから抽象化されているため機能します。最終的に私を正しい方向に導くことを指摘してくれた pdoherty926 と dystroy に感謝します!

于 2013-08-11T23:03:26.143 に答える