2 одинаковые форму на разных страницах (автозаполнение)
Имеется 2 формы. Одна большая с множеством полей, второй с несколькими полями, имеющимися на большой. Маленькая форма на главной странице, вторая на дополнительной. Требуется при заполнении маленькой формы и переходе на страничку с большой формой, повторяющиеся поля заполнить автоматом. Перебирать все поля - бред, так как повторяющихся полей много и их кол-во может меняться. Может есть какой-нибудь скрипт для автозаполнения? Спасибо
|
То есть, есть одна страница в которой есть немного полей.
Пользователь нажал на кнопку и произошёл переход на страницу где много полей, часть уже заполненных до этого полей, заполнится на новой странице автоматически. Верно ? Если да, то javaScript код на странице (с небольшим количеством полей) и данными о заполненных полях , исчезнет вместе со старой страницей при переходе на другую страницу. Это произойдет по той простой причине, что скрипты это часть страницы и уничтожаются они вместе со страницей. А переход на другую страницу есть нечто иное, как уничтожение старой и получение новой страницы. Так как мы не можем уберечь данные в момент перехода на другую страницу, делаем вывод что задача средствами JavaScript не решается, а решается на серверной стороне (к примеру средствами PHP). Если даже скрипт (или что более логично сама форма) перед переходом попробует передать данные на сервер, а на следующей страницы скрипт попробует их получить, то выйдет очень криво и раза в три сложнее чем было бы без javaScript плагина. Решение на js уместно только в том случае если страница с большой формой подгружаются по ajax, тоесть обновляется только часть html кода страницы, а не вся страница целиком. Извращение типо хранения данных в куки даже не рассматриваю. У вас страницы по ajax подгружаются ???? |
Спасибо огромное за ответ. Я думал на js будет проще. Можно тогда пример заполнения полей на php? (у меня текст, радио, чекбоксы, листбоксы и мемо)
|
Это зависит на какой CMS вы пишите.
ну вот грубый пример, просто исходя их того что у вас голый php. Впрочем сработает и внутри большинства шаблонизаторов, к примеру в yii или joomla без проблем. В этом примере данные передаются некоторому php скрипту на сервере, а он формирует форму и передает их обратно браузеру, вот код этого скрипта. <? $lname=$_POST['lname']; $fname=$_POST['fname']; ?> <form action=" " method="post"> First name: <input type="text" name="fname" value="<?=$fname?>"/><br/> Last name: <input type="text" name="lname" value="<?=$lname?>"/><br/> </form> |
Спасибо, но вы уж совсем мне все расисали.
Просто я не хочу расписывать для каждого элемента это. Фигня с текстом и мемо, но чекбоксы, радио и листбоксы - это геморойно. Вот и думал как упростить. Цитата:
|
ну создайте конструктор поля к примеру.
это пример, модифицируй как тебе будет надо. <? $ds=$_POST ?> <? function formInput($name, $data){ //конструктор поля ?> <input type="text" name="<?=$name ?>" value="<?=$data[$name]?>"/><br/> <? }?> <!-- пример обычный--> First name: <input type="text" name="fname" value="<?=$fname?>"/><br/> <!-- пример с конструктором дающий аналогичный эффект--> First name: <?formInput("fname",$ds); ?> тобиш создание всего поля и заполнение его данными умещается в строке <?formInput("fname",$ds); ?> а ведь в ds может содержаться не только данные из post или get запроса, но и данные из базы данных к примеру. ну это так идея, подумай. |
А вот это поистине классный совет. Спасибо!
|
Часовой пояс GMT +3, время: 07:30. |