Сравнение двух полей в форме в Javascript - не работает - PullRequest
1 голос
/ 27 мая 2009

Может кто-нибудь сказать мне, что я делаю не так? Мой ComparePasswords () не работает ...

        <script>

            function comparePasswords()
            {
                if (post-form.password.value != post-form.password2.value)
                {
                    $('passwordShow').innerHTML = '';
                }
                else
                {
                    $('passwordShow').innerHTML = 'Passwords do not match';
                }
            }
        </script>


<form id="post-form" action="signup.php" method="post" >

<input type="password" id="password" name="password" onkeyup="testPassword(this.value);" maxlength="50" size="25" tabindex="102" value="">

<input type="password" id="password2" name="password2" onkeyup="comparePasswords();" maxlength="50" size="25" tabindex="104" value="">

</form>

Ответы [ 3 ]

1 голос
/ 27 мая 2009

вам нужно использовать

document.getElementById('password').value

и

document.getElementById('password2').value

Кроме того, ваша логика неверна. Первый условный блок сработает, если пароли не совпадают.

EDIT

кажется, что вы используете jQuery, поэтому просто используйте

$('#password').val()

чтобы получить значение поля.

Вы также должны установить innerHTML, используя jQuery (может также) с методом html()

1 голос
/ 27 мая 2009

Проблема в том, как вы получаете доступ к объекту формы.

post-form.password

Для движка javascript это то же самое, что и это:

post - (form.password)

Кроме того, вам нужно присвоить своей форме атрибут name (а не просто идентификатор), чтобы получить к нему доступ таким образом. Если бы вы хотели получить к нему доступ по имени, вы бы использовали что-то вроде этого:

document['post-form'].password

Или по номеру:

document.getElementById("post-form");
0 голосов
/ 27 мая 2009

Тест в вашем, если задом наперед. Первая ветвь проверяет, не совпадают ли два пароля друг с другом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...