Loading...
RoYaL avatar RoYaL Trainer 6849 Точки
Best Answer

Както каза колегата по-горе, имаш недефинирана променлива във функция:

function rPasswordValidation(rPassword){
    if(password != rPassword){
        alert('Паролите не съвпадат');
        return false;
    }
    return true;
}

Забележи променливата rPassword, която съм болднал и подчертал. Нея можеш да  ползваш, защото си я подал като параметър на функцията. Но от къде идва променливата password? Нямаш я във функцията, нямаш я и като глобална. Тя съществува само във функцията formValidation и никъде другаде.

Представи си г като математическа функция f(x) = x ^ 2. Това е функция, на която подаваш Х и тя ти връща квадрата от Х. Чудесно, само че твоят пример изглежда като следната математическа функция f(x) = x + y. Подаваш хикс и тя ти връща сбора на Х със У. Чудесно, само че тази функция не знае за У и то е неизвестно.

Представено в код проблемът ти изглежда така

function sum() {
    var x = 4;
    var y = 6;
    sumTwoNumbers(y); // подаваш само Y (6)
}

function sumTwoNumbers(y) {
    console.log(x + y); // нямаме достъп до X
}

А неговото решение така:

function sum() {
    var x = 4;
    var y = 6;
    sumTwoNumbers(x, y); // подаваш Х и У
}

function sumTwoNumbers(x, y) {
    console.log(x + y); // имаш достъп до Х от параметрите на функцията
}

 

 

3
11/06/2015 13:08:46
LuXuS avatar LuXuS 1 Точки

function rPasswordValidation(password, rPassword){
    if(password != rPassword){
        alert('Паролите не съвпадат');
        return false;
    }
    return true;
}

Направих го и в горния иф: if(rPasswordValidation(password,rPassword))
Обаче проблемът е пак същия :( !

0
RoYaL avatar RoYaL Trainer 6849 Точки

Излиза alert, че паролите не съвпадат, така ли?

0
LuXuS avatar LuXuS 1 Точки

Да точно :) !

0
RoYaL avatar RoYaL Trainer 6849 Точки

Пусни един console.log() на password и rpassword и виж какви са стойностите им. Да не би да не взимаш правилно стойностите от html-a? Например id атрибута на някое от двете полета да е сбъркан.

0
RoYaL avatar RoYaL Trainer 6849 Точки

Всъщност, до колкото си спомням джаваскрипт връща обект от тип HTMLElement когато кажеш getElementById(). Ако иска да сравняваш стойностите им на тези обекти, трябва да им вземеш стойностите, което ставаше през полето value.

Т.е. във функцията за сравнение трябва да сравняваш rPassword.value != password.value

1
11/06/2015 13:43:08
LuXuS avatar LuXuS 1 Точки

Всичко е както трябва няма объркани ид-та. Всичко е ОК .

0
RoYaL avatar RoYaL Trainer 6849 Точки

Виж последния ми коментар. Сравняваш обекти вместо стойности. Това би трябвало да излзе на console.log-a :)

0
LuXuS avatar LuXuS 1 Точки

Да , Благодаря Ви много . Сега се оправи :)

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.