2

2つの入力ボックスに同じ値があるかどうかを確認しようとしていますが、問題は、常に同じ値で表示されることです。値が値に保存されていないと思いますか?

<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

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

私が警告しようとすると、$('#fname').attr('value')それは未定義と言います。値が正しく記録されていませんか、それとも別のものですか?

これがjsfiddleです。それは機能しますが、ローカルマシンで同じコードを実行した場合は機能しません。 http://jsfiddle.net/g2kBm/56/

4

4 に答える 4

2

.val()jQueryメソッドを使用します。

説明:一致した要素のセットの最初の要素の現在の値を取得します。

$("#fname").val();

続きを読む

于 2013-03-19T03:57:14.207 に答える
0

次を使用する必要があります。

if ($('#fname').val() == $('#lname').val()) {
    alert('Same Value');
    return false;
} else {
    return true;
}

代わりに、attr()は入力の値を取得するために使用されません。これは、入力に属性を追加するために使用されます。これが、「未定義」メッセージが表示される理由でもあります。

于 2013-03-19T03:57:37.100 に答える
0

この小さな部分を変更するだけで、これが役立つ場合があります。

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

定義$('#fname').attr('value')しましたが、未定義と表示されます。value 属性を使用する場合は、最初に宣言する必要があります。しかし、あなたは宣言されておらず、入力の値を取得しようとしています。

jquery値を確認したい場合は、 を使用できますval()

if ($('#fname').val() == $('#lname').val()) {
    alert('Same Value');
    return false;
} else {
    return true;
}
于 2013-03-19T04:01:48.880 に答える