0

ローカル マシンで jsfiddle から同じコードを実行すると、機能しません。他の jQuery 関数が機能しているため、jQuery をリンクしています。

http://jsfiddle.net/g2kBm/56/

<div class="errorbox-good">
        <div>
            <div class="form-entry">
                <label>
                    <div> First Name
                        <span class="ss-required-asterisk">*</span>
                    </div>
                </label>
                    <input type="text" id="fname" name="fname" required> 
            </div>
        </div>
    </div> 

<div class="errorbox-good">
        <div>
            <div class="form-entry">
                <label>
                    <div> Last Name
                        <span class="ss-required-asterisk">*</span>
                    </div>
                </label>
                    <input type="text" name="lname" id="lname" required> 
            </div>
        </div>
    </div> 

jQuery

$('input').blur(function() {
if ($('#fname').attr('value') == $('#lname').attr('value')) {
alert('Same Value'); return false;
} else { return true; }
});

アラートが表示されないのはなぜですか?

4

2 に答える 2

3

jsfiddle はデフォルトでjQuery.load()メソッドを使用し、ページ上のすべての要素が読み込まれるまで待機します。ただし、コード スニペットに基づいて、jQuery がロードされる前に Javascript を起動しているため、何も起こらない可能性があります。

.ready()解決策は、すべての jQuery コードをor.load()メソッド内に囲むことです。

$(document).ready(function() {
    $('input').blur(function() {
        if ($('#fname').attr('value') == $('#lname').attr('value')) {
            alert('Same Value');
            return false;
        } else { return true; }
    });
});
于 2013-03-19T03:16:41.350 に答える
0

コードを$(document).ready()ハンドラー内に配置します。

$(document).ready( function() {
    $('input').blur(function () {
        if ($('#fname').attr('value') == $('#lname').attr('value')) {
            alert('Same Value');
            return false;
        } else {
            return true;
        }
    });
});
于 2013-03-19T03:17:58.730 に答える