-4

次のスクリプトが間違ったJavaScriptアラートを生成するのはなぜですか?

<script type="text/javascript">   
        $('#cpassword').change(function() {
     var pass=$('#password').val;
     alert(pass);
      var cpass=$('#cpassword').val;
      alert(cpass);
    });

    </script>

2つのパスワードタイプがあり、値を取得して比較し、テキストボックスの右側にあるユーザーに通知しますが、エラーが発生します。手伝ってください!値を取得する方法!

4

4 に答える 4

4

jQueryは.val() 関数を使用して、jQueryオブジェクトの(最初の)要素の値を取得します。そのオブジェクトのval プロパティにアクセスしようとしています。()次のことを試してください(プロパティにアクセスするのではなく、関数を呼び出していることを示すことに注意してください)。

$('#cpassword').change(function() {
    var pass = $('#password').val();
    alert(pass);
    var cpass = $('#cpassword').val();
    alert(cpass);
});
于 2012-08-29T15:56:08.767 に答える
2

関数を呼び出して.val()、入力値を取得する必要があります。.valなし()は関数宣言です。

<script type="text/javascript">   
    $('#cpassword').change(function() {
        var pass=$('#password').val();
        alert(pass);
        var cpass=$('#cpassword').val();
        alert(cpass);
    });
</script>
于 2012-08-29T15:56:24.043 に答える
2

val()は関数であるため、として呼び出す必要がありますelement.val()

jQueryのドキュメントを使用してください。

于 2012-08-29T15:56:30.590 に答える
2

If you run that code in javascript console, you shall see that $('#cpassword').val is the function instance itself. Whilst $('#cpassword').val() is the result of that function run/

So, the solution - just add braces near .val() function call:

alert($('#cpassword').val());
于 2012-08-29T15:57:48.483 に答える