За последние 24 часа нас посетили 16716 программистов и 1694 робота. Сейчас ищут 886 программистов ...

javascript - проверка формы

Тема в разделе "JavaScript и AJAX", создана пользователем _sVk_, 23 сен 2011.

  1. _sVk_

    _sVk_ Активный пользователь

    С нами с:
    19 сен 2011
    Сообщения:
    4
    Симпатии:
    0
    Всем привет.
    Ребят, помогите пожалуйста понять суть и разобраться.
    Имеется форма с атрибутами:
    HTML:
    1. action="hndlrRegister.php" onsubmit="chkform(this); return false;"
    .

    собственно chkform():

    [js]
    var i;
    i=0;
    e('empty_name').innerHTML='';
    e('empty_passw').innerHTML='';
    e('empty_email').innerHTML='';

    if(e('id_name').value=='') e('empty_name').innerHTML='Введите имя';
    else i++;
    if(e('id_passw').value=='') e('empty_passw').innerHTML='Введите пароль';
    else i++;
    if(e('id_email').value=='') e('empty_email').innerHTML='Введите адрес почты';
    else i++;

    if(i==3) form.submit();
    [/js]
    где e это return getElementById(id)

    то есть проверка, что поля формы не пустые перед тем как её отправить.

    hndlrRegister.php проверяет c помощью isset полученные из формы переменные и заносит их в таблицу mysql.

    Собственно вопросы:
    1) Если отключить js, то кнопка submit отсылает пустые переменные, как я понимаю это связано с тем, что return false не выполняется?
    2) Я вижу только 2 варианта, как с этим справиться:
    (а) в обработчике формы hndlrRegister.php проверять переменные не только isset'ом, но и на то, что они не пусты. Но тогда теряется смысл использования js-проверки (то, что не происходит запросов к веб-серверу). Ведь тогда можно обойтись и вовсе без нее, заменив её аналогичной проверкой на php, да еще и прикрутив проверку с помощью регулярных выражений(хотя на js тоже можно), это и есть вариант (б).

    3) Есть ли способ проверить, включен ли js и выполнить js-проверку или, если выключен, то выполнить php-проверку (По-моему это уже бредовый вопрос конечно, но всё же)

    4) Есть ли смысл вообще стараться использовать js, где это возможно вместо php (ответ конечно "Да", просто я пока не знаю/не умею это делать)

    :?
     
  2. caballero

    caballero Активный пользователь

    С нами с:
    23 сен 2011
    Сообщения:
    18
    Симпатии:
    0
    PHP проверку надо делать всегда
    и проверять не isset - оно всегда буде а strlen