Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Евгений Гость
|
Добавлено: Пт Окт 26 2001 23:10 Заголовок сообщения: Подскажипе плиз |
|
|
Короче есть скрипт, на любом языке - PHP, Perl - написал я сообщение и кликнул на отправить, и забыл например одно обязательное поле. Скрипт предложил мне вернуться назад - я вернулся и потерял все что писал ранее. Как сделать так, чтобы все написанное осталось? Заранее спасибо ... С уважением Евгений |
|
Вернуться к началу |
|
|
GBoX
Зарегистрирован: 12.10.2001 Сообщения: 55 Откуда: Украина Херсон
|
Добавлено: Пт Окт 26 2001 23:49 Заголовок сообщения: Re: Подскажипе плиз |
|
|
Это же элементарно - когда генеришь страницу в значения полей формы по умолчанию вносяться значения, полученные из предыдущей формы соответственно. Значения эти ж ни куда не теряются )) |
|
Вернуться к началу |
|
|
Dmitry.Karpov Гость
|
Добавлено: Вс Окт 28 2001 10:50 Заголовок сообщения: поля очищаются если страница устарела |
|
|
Рекомендую для начала заглянуть в доки тут же на ЦитФоруме - почитать про протокол HTTP и его заголовки, дабы понять то, что я скажу дальше.
Иногда в целях обеспечения синхронности (соответствия изображенного на экране содержимому быстро меняющегося сайта) админ приказывает Web-серверу выдавать заголовок "Expires: давным-давно" (обычно дата устаревания указывается в районе 1970 года). Есть еще один вариант - старая схема автоопределения кодировки браузера, предложенная Алексом Тутубалиным, см.FAQ на http://apache.lexa.ru/. Когда браузер обнаруживает это, он не кэширует страницу, а загружает ее каждый раз заново, потому и внесенные данные не сохраняются.
Правильный способ - бить морду админу. Можно еще выставить на своей машине 1967-й год, но это неправильно. Функции принудительного включения кэширования для определенных областей Web (избирательно - для этого принимать, для этого игнорировать) я в браузерах еще не встречал, а надо бы для борьбы со всякими идиотами (равно как и функции избирательного выключения JavaScript, загркзки картинок и приема cookies). |
|
Вернуться к началу |
|
|
Denis++ Гость
|
Добавлено: Ср Окт 31 2001 17:53 Заголовок сообщения: Re: Подскажипе плиз |
|
|
А по-моему, обязательные поля (и вообще, правильность заполнения полей) лучше на клиенте проверять на JavaScript - зачем зря сервер тревожить? |
|
Вернуться к началу |
|
|
Евгений Гость
|
Добавлено: Ср Окт 31 2001 23:39 Заголовок сообщения: Re: Подскажипе плиз |
|
|
А если уважаемый Денис++ на клиенте отключен JavaScript, то что тогда? Палец сосать будет или все-таки найдем выход?!
С уважением Евгений |
|
Вернуться к началу |
|
|
Denis++ Гость
|
Добавлено: Чт Ноя 01 2001 12:13 Заголовок сообщения: Re: Подскажипе плиз |
|
|
В принципе, некоторый резон в этом есть. (Хотя я еще не встречался с тем, чтобы пользователь намеренно отключал у себя в браузере поддержку JavaScript) Тогда я делаю так. Например, страница 2.asp обрабатывает данные, полученные из формы 1.asp Если при этом какие-то поля не заполнены или заполнены неправильно, делается редирект на 1.asp?field1=value1&field2=value2 и т.д. 1.asp в свою очередь проверяет, предаются ему какие-то параметры или нет. Если передаются, то имя заполняются поля в форме. Плюс еще надо передавать код ошибки, чтобы 1.asp писал сообщение об ошибке. |
|
Вернуться к началу |
|
|
Евгений Гость
|
Добавлено: Сб Ноя 03 2001 21:34 Заголовок сообщения: Re: Подскажипе плиз |
|
|
Есть вопросик! Вот решил двойную проверку сделать. Одну из них на javascript. Короче есть форма и если одно обязательное поле не заполнена вываливается окно, после нажатия на субмит - вот функция function check() { var test="Незаполнены обязательные поля!!!"; if((document.form1.FullName.value.length && document.form1.Message_com.value.length)==0) { window.alert(test); return false; } } После нажатия на ОК, в этом окне, происходит выполнение сценария на сервере, когда надо вывалиться обратно в форму. Я чего-то не понимаю, или перегрузился слишком!? Вот код в самой форме -
Я пробовал и с OnSubmit, такая же фигня. Что нужно доработать? С уважением Евгений |
|
Вернуться к началу |
|
|
Denis++ Гость
|
Добавлено: Пн Ноя 05 2001 10:53 Заголовок сообщения: Re: Подскажипе плиз |
|
|
С большой долей вероятности могу предположить, что ошибка в том, что надо писать: onclick="return check();" а не onclick="check();" т.е. возвращаемое функцией check() значение должно передаваться дальше. Если check() возвращает false, дальнейшая обработка события onclick не выполняется. Кстати, правила хорошего тона предполагают, что если пользователь не заполнил какое-то поле, то после сообщения об этом курсор устанавливается именно в то поле, которое не заполнено... |
|
Вернуться к началу |
|
|
Евгений Гость
|
Добавлено: Вт Ноя 06 2001 00:26 Заголовок сообщения: Re: Подскажипе плиз |
|
|
Спасибо! Все пошло как по маслу.
С уважением Евгений |
|
Вернуться к началу |
|
|
Евгений Гость
|
Добавлено: Вт Ноя 06 2001 01:09 Заголовок сообщения: Re: Подскажипе плиз |
|
|
Есть еще один вопросик, мож знаешь. Короче есть форма, к примеру, как вот эта, где я пишу "Сообщение". После нажатия на потправить, все это помещается в базу. Код написан па пхп. Когда пользователи просматривают базу, то сообщение вываливается без переводов строки, то есть все подряд, хорошо хоть с пробелами. Как сделать так, чтобы сообщение содержало все эти фигни. С уважением Евгений |
|
Вернуться к началу |
|
|
Denis++ Гость
|
Добавлено: Вт Ноя 06 2001 12:56 Заголовок сообщения: Re: Подскажипе плиз |
|
|
В данном случае я просто после чтения сообщения из базы, но перед помещением его на страницу пробегаюсь по нему и заменяю все вхождения символа перевода строки (для win-платформы и asp это chr(13)) на html-тэг перевода строки br и уже в таком виде вывожу на страницу... |
|
Вернуться к началу |
|
|
|