Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.05.2015, 23:42
Новичок на форуме
Отправить личное сообщение для kalashretphp Посмотреть профиль Найти все сообщения от kalashretphp
 
Регистрация: 10.05.2015
Сообщений: 5

Помогите с проверкой
Делаю валидацию полей регистрации и не работает. Подскажите, что не так?
function validate(){
    
    var fnik = document.forms["nf"]["nik"].value;
    var femail = document.forms["nf"]["email"].value;
    var fpass = document.forms["nf"]["pass"].value;
    var fpass1 = document.forms["nf"]["pass1"].value;
    var fname = document.forms["nf"]["name"].value;
    var feducation = document.forms["nf"]["education"].value;    
    var fcontacts = document.forms["nf"]["contacts"].value;
    var fexperience = document.forms["nf"]["experience"].value;
    var fabout = document.forms["nf"]["about"].value;    

    if (!(/^[а-яА-Яa-zA-Z0-9]+$/).test(fnik)){
        alert("Nik должно состоять только из букв");
        document.forms["nf"]["nik"].focus();
        return false;};

    if (!(/^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/.test(fmail))){
        alert("Введен некорректный емейл");
        document.forms["nf"]["email"].focus();};
                     
    if (fpass != fpass1){
        alert("Не совпадают пароли. Ведите пароли ещё раз");
        document.forms["nf"]["pass"].focus();
        return false;};
;}


а вот форма:

<form name = "nf" method = "post" action = "http://test.webshops.club/action/auth.php" enctype="multipart/form-data">
            <input class="feeld" name="nik" type="text" maxlength="25" onclick="writeSpanNik()" onblur="cleanSpanNik()"/>
                    <span class="error" id="span_nik"></span>
            <input class="feeld" name="email" type="text" maxlength="25" onclick="writeSpanEmail()" onblur="cleanSpanEmail()"/>
                    <span class="error" id="span_email"></span>
            <input class="feeld" name="pass" type="password" maxlength="25" onclick="writeSpanPass()" onblur="cleanSpanPass()"/>
                    <span class="error" id="span_pass"></span>  
            <input class="feeld" name="pass1" type="password" maxlength="25" onclick="writeSpanPass1()" onblur="cleanSpanPass1()"/>
                    <span class="error" id="span_pass1"></span>
             <input class="reg" onclick ="validate()" type="submit" name="login" value="Зарегистрироваться"/>
</form>

Последний раз редактировалось kalashretphp, 21.05.2015 в 09:07.
Ответить с цитированием
  #2 (permalink)  
Старый 21.05.2015, 08:28
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

http://htmlbook.ru/html/input/pattern
<form>
  <input required pattern='[A-Za-z]' type='text' />
  <input type='submit' value='Отправить' />
</form>
Ответить с цитированием
  #3 (permalink)  
Старый 21.05.2015, 08:43
Новичок на форуме
Отправить личное сообщение для kalashretphp Посмотреть профиль Найти все сообщения от kalashretphp
 
Регистрация: 10.05.2015
Сообщений: 5

я не за хтмл-разметку. у меня не работает JS. при нажатии на submit не идет проверка полей формы
Ответить с цитированием
  #4 (permalink)  
Старый 21.05.2015, 09:14
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

kalashretphp,
Вешайте обработчик не на инпут онклик, а на форму onsubmit
Ответить с цитированием
  #5 (permalink)  
Старый 21.05.2015, 09:28
Новичок на форуме
Отправить личное сообщение для kalashretphp Посмотреть профиль Найти все сообщения от kalashretphp
 
Регистрация: 10.05.2015
Сообщений: 5

обработчик инпут онклик отвечает за подсказки. которые работают. Не работает валидация((((. Не могу понять. При этом пару дней назад все работало. нонсенс(.
вот сама форма http://test.webshops.club/action/registr.php
Ответить с цитированием
  #6 (permalink)  
Старый 21.05.2015, 09:39
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

kalashretphp,
Просто банальная невнимательность.
fmail - нет такой переменной.
строки 18 и 4
Ответить с цитированием
  #7 (permalink)  
Старый 21.05.2015, 09:58
Новичок на форуме
Отправить личное сообщение для kalashretphp Посмотреть профиль Найти все сообщения от kalashretphp
 
Регистрация: 10.05.2015
Сообщений: 5

заработало. огромное спасибо. И ещё подскажите, после срабатывания обработчика, даже если возвращает false, все рвно идет отправка формы. что тут может быть?
Ответить с цитированием
  #8 (permalink)  
Старый 21.05.2015, 10:00
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

onclick='return validate()'

и в конце функции validate поставьте 'return true;'
И если не поможет то слушайте на форме, а не на инпуте, я уже писал, что надо слушать onsubmit формы.
Ответить с цитированием
  #9 (permalink)  
Старый 21.05.2015, 11:00
Новичок на форуме
Отправить личное сообщение для kalashretphp Посмотреть профиль Найти все сообщения от kalashretphp
 
Регистрация: 10.05.2015
Сообщений: 5

заработало все. огромное спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с fancyBox Le-mark43 Events/DOM/Window 6 20.12.2012 08:08
Помогите пожалуйста правильно написать скрипт raffx Events/DOM/Window 17 16.10.2012 20:31
Прелоадер (помогите разобраться) xsfd AJAX и COMET 6 16.09.2010 02:30
Помогите разобраться!!! Greendumb Общие вопросы Javascript 8 19.08.2010 14:04
Помогите! Многоуровневые вкладки! sergeeeeee Элементы интерфейса 2 02.08.2010 23:50