Как сохранить все что в form после перезагрузки страницы?

123
A
На сайте с 04.11.2007
Offline
89
#11
i-work:
Вчера заметил на youtube ajax сломался, когда комменты разворачиваешься страница перезагружается, такой маразм 🤣
divv:
У меня постоянно так, я думал они спецом так сделали, иногда прям бесит.

https://... избавляет от перезагрузки

totamon
На сайте с 12.05.2007
Offline
437
#12
kostyanet:
Валидация на клиенте ничтожна как валидация, это всего лишь сервис и экономия ресурсов сервера. Запомните господа что браузера может вообще не быть там, где вы его подразумеваете.

ну все правильно, боты и парсеры пускай идут лесом))

---------- Добавлено 20.07.2015 в 16:58 ----------

asteroid:
https://... избавляет от перезагрузки

вроде раньше все по https грузилось, значит редирект убрали

Домены и хостинг https://8fn.ru/regru | Дедик от 3000р https://8fn.ru/73 | VPS в Москве https://8fn.ru/72 | Лучшие ВПС, ТП огонь, все страны! https://8fn.ru/inferno | ХОСТИНГ №1 РОССИИ https://8fn.ru/beget
IW
На сайте с 16.12.2014
Offline
73
#13
l17l:
Приведите пожалуйста пример, пока не понимаю вас.

Вы разработчик или так погулять вышли) ХТМЛ то хотя бы, нужно знать...

asteroid:
https://... избавляет от перезагрузки

Да после первой перезагрузки на https кидает и все работает, но для сайта такого уровня косяк непростительный.

SSD VPS скидка 25% по купону iwork https://cp.inferno.name/cart.php?gid=23 | надежный хостинг http://bit.ly/2Yiq93h
[Удален]
#14
i-work:
Да после первой перезагрузки на https кидает и все работает, но для сайта такого уровня косяк непростительный.

Реально впечатление, что сидят там идиоты которые сами youtube не используют. В почту рассылка по подпискам приходит со ссылкой на www.youtube.com (где после желания написать или развернуть коммент происходит перезагрузка), а корректно он работает только на https://youtube.com. Пока писал придумал, сделаю www.youtube локальным адресом (127.0.0.1) и с него своим вебсервером редирект на https, хрен знает когда они это починят (у меня уже мес.) заколебало.

По теме, проверку надо делать и javascript и сервером.

siv1987
На сайте с 02.04.2009
Offline
427
#15
l17l:
Так я же первый раз выбрал фаил, а после отправил новость, но вылезла валидация после перезагрузки страницы, так как не все поля заполнил, то действия выбора сохранить не как?

Никак. По этому нужно валидировать сначала на JS если нет критических ошибок, потом отправить обработчику на сервер.

l17l:
Приведите пожалуйста пример, пока не понимаю вас.

http://htmlbook.ru/html/textarea

http://htmlbook.ru/html/select

L
На сайте с 18.02.2012
Offline
83
#16

Спасибо всем, да я так уже и понял что надо на js валидацию сделать, что бы не было перезагрузки страницы.

L
На сайте с 18.02.2012
Offline
83
#17

Что я хочу реализовать через js

Проверка на введение трех полей.

Начало формы:


<form method="post" id="addnews" class="form-horizontal" enctype="multipart/form-data">

заголовок:
<input type="text" name="prname" maxlength="80" />

короткий текст:
<textarea name="shortdescription" rows="3" maxlength="220"></textarea>

полный текст:
<textarea name="description" id="editor1" rows="20"></textarea></div>

кнопка добавить
<button type="submit" name="submit" id="submit" class="btn btn-primary">ДОБАВИТЬ НОВОСТЬ ИЛИ СТАТЬЮ НА САЙТ</button>

</form>

я форме присвоил ид id="addnews"

Див для вывода ошибок: ( <div id="resultred"></div> )

Код js - в коде ноль, но пытаюсь по другим примерам что то сделать.


<script>
jQuery(document).ready(function(){
jQuery("#submit").click(function(){
prname = $('[name="prname"]').val();
shortdescription = $('[name="shortdescription"]').val();
description = $('[name="description"]').val();

submitData = $('#addnews').serialize();
if(prname !== '' && shortdescription !== '' && description !== '')
{
$.ajax({
type: "POST",
url: 'http://'+location.host+'/admin/products/add',
data: submitData,
dataType: 'json',
success: function(data)

</script>

пока так сделал, дальше пока не понял сути.

понял что по нажатию на кнопку добавить новость, срабатывает js который проверяет всю форму, и после того если все хорошо, то он добавляет новость, а если есть ошибка то будет выводить ошибку.

что я хочу реализовать через js, нужно что бы была проверка что данные поля нужно заполнить, пустыми их оставлять нельзя, поля обязательные для заполнения ( prname, shortdescription, description )

У поля ( prname ), хочу сделать что бы нельзя было больше 80 символов писать, и меньше 10, то есть если меньше 10 или больше 80, то он должен будет выдавать ошибку с текстом, слишком мало символов в заголовке что то такое.

Для поля ( shortdescription ), хочу реализовать что бы меньше 50 символов нельзя было писать и больше 220, и если я заполнил меньше 50, то что бы скрипт валидации выдавал что слишком маленький текст, ну и если больше 220.

Для поля ( description ), поле обязательно для заполнения, если оставили пустым, то что бы писалось такое то поле не должно быть пустым.

Подскажите как дальше скрипт дописать, приведите пожалуйста пример.

K
На сайте с 03.06.2015
Offline
45
#18

Так нельзя. У вас нет никакого опыта и уровень знаний букварный, а с этими формами, если делать нормально, всегда был геморрой, иначе бы не были предприняты попытки в 5-м хтмле приблизить уже то будущее, когда браузеры сами будут все проверять по сценарию разработчика.

Тем не менее уже сейчас можно юзать новые типы инпутов и атрибуты pattern с required чтобы вывести валидацию формы на клиенте на приемлемый уровень абстракции.

Паттерны можно тут искать http://html5pattern.com/ или просить знающих людей сделать по ТЗ.

Для простой длины строки хватит атрибутов maxlength и minlength. Второй не стандартный, поэтому оба лучше брать через element.getAttribute(). Однако еще есть одна закономерность. Когда у вас определен атрибут minlength, то значит это поле однозначно required. Следовательно можно не размножать атрибуты, а юзать required одновременно как индикатор и как параметр если записать в него число - минимальную длину текста. Я так и делаю.

MYSQL PHP JS HTML CSS SEO TXT США СССР
L
На сайте с 18.02.2012
Offline
83
#19
kostyanet:
Так нельзя. У вас нет никакого опыта и уровень знаний букварный, а с этими формами, если делать нормально, всегда был геморрой, иначе бы не были предприняты попытки в 5-м хтмле приблизить уже то будущее, когда браузеры сами будут все проверять по сценарию разработчика.

Тем не менее уже сейчас можно юзать новые типы инпутов и атрибуты pattern с required чтобы вывести валидацию формы на клиенте на приемлемый уровень абстракции.

Паттерны можно тут искать http://html5pattern.com/ или просить знающих людей сделать по ТЗ.

Для простой длины строки хватит атрибутов maxlength и minlength. Второй не стандартный, поэтому оба лучше брать через element.getAttribute(). Однако еще есть одна закономерность. Когда у вас определен атрибут minlength, то значит это поле однозначно required. Следовательно можно не размножать атрибуты, а юзать required одновременно как индикатор и как параметр если записать в него число - минимальную длину текста. Я так и делаю.

атрибуты pattern с required - знаю, читал уже, а толку ! если брайзер старый ! то оно и работать не будет.

поддержка брайзеров ( Pattern Support Firefox 4+ & Chrome 5+ & Opera 9.6+ & MSIE 10+ )

K
На сайте с 03.06.2015
Offline
45
#20

Это как бы уже норма, когда понимаете ли человек, ничтоже сумняще начинает учить специалистов как жить, прежде начитавшись предисловий у других специалистов.

Там же написано что юзать надо element.getAttribute(). Вот и юзайте. До какой старости браузеров добивает эта функция я не знаю. Зато точно знаю что термин "старый браузер" обознает только и единственно - Ишака. Потому что все нормальные браузеры как программы автоматически или полу-автоматически обновляются, и только ишачело застревает в той версии винды, под которую заточен.

Так вот попробуйте-ка зайти на сайт MDN возьмеркой ИЕ и расскажите что увидели.

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий