(web) проверка полей формы
можно мутить на скрипте, но если для серьезной конторы делаешь - делай на серваке с полно ВАЛИДАЦИЕЙ, ибо любую форму можно поттелать
2) представь, что ты не на модеме, но у тебя за каким-то кером отключен джаваскрипт. Приятно будет увидеть, что форма не отправляется из-за этого?
Вот и выбирай - по полминуты ждать, но гарантированно для всех и 99% народу будут материться, какого хрена не сделано на джаваскрипт и все так долго, или забить на 1% далпаепов без джавасрипта или с говнобраузерами, зато сделать прикольно.
Никто не мешает сделать проверку и там, и там. Хотя и двойная работа, конечно.
черт, непонятно
ну мне тоже кажется что лучше уж одной страничкой обойтись а не генерить херову тучу новых, да и perl вроде как хоть знаю, но мне кажется что javascript както лаконичнее будет, только блин я его не знаю
<form ... onsubmit="return validateForm">
....
</form>
function validateForm {
...
return false // если всё плохо
return true // всё хорошо, отправляем
}
а если false, и нужно чтоб около пустых полей вылезло предупреждение?
Ну, это ты уж сам как-нибудь
но если для серьезной конторы делаешьда нее так по мелочи, просто надо чтоб не пропускали по возможности
много букав - смысла ноль
а... ну так это другое дело. Я думал, ты идеологически спрашиваешь, как. А тут - это уж от потребностей зависит. Какая проверка нужна, такую функцию и пиши. Может, тебе проверку по регэкспам надо делать, а не просто на заполненность. Универсального рецепта тут нет
кстати немного отвлеченный вопрос, вот к примеру есть несколько форм на нескольких страницах которые отправляют данные на сервак, там сидит скрипти естественно он запускается каждый раз заново. Если нужно сохранить все данные со всех форм и не прибегат к БД, можно ли тупо сказать скрипту "пиши в файл прям здесь", то есть разрешено ли обычно на серваках скриптам создавать и писать файлы?
обычно - да, но всё зависит от юзера, под которым запускается скрипт, и прав на папку, куда писать
но всё зависит от юзера, под которым запускается скриптв смысле? если я тыкаю на браузере сабмит форм, то какой юзер запускает скрипт?
А что значит обычно? Как настроишь - так и будет.
спроси у админа своего сервера
return falseпроигнорируется, например, тем ИЕ, который на коммуникаторах, и форма будет всё равно отослана. И еще куча разных тонкостей.
В любом случае, данные надо ВСЕГДА проверять на сервере, потому что подделать форму, как выше уже сказали, раз плюнуть. А вот вешать ли дополнительно javascript для красоты, удобства начальной проверки и диалапщиков - это уже второй вопрос.
Ну, то, что всё надо проверять на сервере — это обсуждению вообще не подлежит и считается очевидным =)
Если таких формочек предвидится много - возможно имеет смысл взботнуть. Правда, они наиболее удобны вкупе с каким-нибудь MVC фреймворком, в stand-alone возможно это не настолько удобно будет.
как обычно принято это мутить? на серваке или на клиенте?и так, и так
на клиента - ради удобства, на сервере - ради безопасности
на клиента - ради удобства, на сервере - ради безопасностиага и тема сразу писать в лог ворнинг об атаке, если серверная проверка выявляет ошибку
При этом надо учитывать, чточета игнорируется просто тупо скопировал такой вот скрипт из какойто статьи
code:return false
проигнорируется,
<script language="javascript">
<!--
function sendform {
if (document.forms[0].name.value == "") {
alert('Пожалуйста, введите Ваше имя');
document.mailform.name.focus;
return false
}
if (document.forms[0].email.value == "") {
alert('Пожалуйста, введите электронный адрес');
document.mailform.email.focus;
return false
}
return true;
}
//-->
<form action="/cgi-bin/formmail.cgi" onsubmit="return sendform;">
Ваше имя: *<input type="text" name="name"><br>
Электронный адрес: *<input type="text" name="email"><br>
Тема сообщения: <input type="text" name="subject"><br>
Сообщение: <textarea name="message"></textarea><br><br>
<input type="submit" value="Отправить">
<input type="reset" value="Очистить">
</form>
алерт выходит но после нажатия ok он походу пытается засабмитить в то же время например рабочие странички типа регистрация на мэйлру вроде так же устроенны, и там все работает норммально выходит алерт и страница отсается. Браузер Мозилла. в чем тут проблема не подскажете?
<script type="text/javascript">
</script>
во-вторых, ты в коде обращаешься к какой-то mailform, а в документе про нее ничего не сказано, возникает ошибка. можно написать своей форме name="mailform" и возрадоваться. это один способ. есть другие, например, присвоить полям id и обращаться к ним по id, а не через document.mailform.тра-ляля
не знаю, почему, но мне это больше нравится
ну вот посмотри я просот написал чот функция присылает false
это неправильно
правильно так:
onsubmit="return sendform"
ой блин работает , спасибо большое!
Оставить комментарий
Sasha21
когда форма не правильно заполнена , как мутят проверку с последующими "Такое такое поле не заполнено!" ? как обычно принято это мутить? на серваке или на клиенте?вдруг кто знает ссылку для "руководства для чайников по JavaScript по этому вопросу"