Формвалидатор, вроде так называется приблуда да автоматического сохранения данных в текстовых полях так вот, всё бы казалось просто, но у меня в целях предотвращения дублирования ключей пост данных, сделано как в примере: форма по адресу /showpost/{id}/ а комментарий добавляется /comments/add/{post_id}/ потом происходит переадресация обратно при этом не факт что комментарий будет добавлен, а может быть ошибка ест-но все данные введённые в форме будут утеряны (если конечно браузер не кеширует) так вот проблемный вопрос, как мне передать данные, пришедшие к экшину добавления из формы, обратно форм валидатору на обработку этой формы, Сессии, БД? :?
На последнем проекте мне было лень писать в сессию и я при ошибке кидал на страницу с формой, но там была json-строка, которую разгребал.... Там и ошибки, и данные, забитые юзером.
мм а как ты данные то передавал, на эту страницу с формой? Alost а если не верный ввод, я показал ошибку, теперь юзверю её нужно исправить, не заполнять же ему все поля заново, если ошибка в каком-то одном
Можно вывести ошибку на той же странице где форма заполняеться.В итоге пользователь увидит ошибку, и будет уже иметь заполненые поля.
PHP: <?php } if (isset($data["takepart"]["errors"])) { ?> <script type="text/javascript"> var errstring = '<?php echo $data["takepart"]["errors"] ?>'; var errors = eval('('+errstring+')'); for (row in errors) { var el = document.getElementById(row); var nodes = el.parentNode.childNodes; for (i = 0; i < nodes.length; i++) { if (nodes[i] == el) { var span = document.createElement("span"); span.innerHTML = errors[row]; el.parentNode.insertBefore(span, nodes[(i+1)]); } } } var postdata = '<?php echo $data["takepart"]["formdata"] ?>'; var posobj = eval('('+unescape(postdata)+')'); for (row in posobj) { document.getElementById(row).value = posobj[row]; } </script> <?php } ?>
Mr.M.I.T., вариант просто сделать Аяксом отправку форм не катит? Все данные как были так и остануться введенными, тебе только остается показать/скрыть ошибки.
Kreker вот меня и интересует откуда берётся переменная Дата, у меня же страницы разные, т.е. ешё раз данные со стр.1 идут на стр.2 и надо их вернуть обратно на стр.1 akrinel не, не у всех JS включён, да и замораваться не хочется, у меня то браузер кеширует =)
я тоже так и хотел сделать, то тыры пыры, чёто не то =) Аякс я не хочу видеть у себя, в таких операциях, впринципе, ну не к месту он тут имхо... Луговой, Горбунов, вы где? =) Зы. А может как браузер ЗАСТАВИТЬ кешировать?
я вот так: а потом вот так: нет. вот так: а потом ваще вот так: чтобы потом вот так: а на самом деле я такой:
440Hz, я так и не понял, на последней фоте ты тот, что в телике, или тот что в белой рубашке? Подписал бы хоть
флоппик наверно балванку подписывал? 440Hz Так и рождаются код хайлоад? за столом и в лимузине... а вообще пуск вверху говорит о многом =)