Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Запоминающий форму скрипт и динамические поля
 
 автор: elenaki   (24.10.2016 в 12:53)   письмо автору
 
 

Есть форма, где много полей (не все), которые заполняются по мере выбора. Есть скрипт, выполняющий это заполнение, он работает. Есть скрипт, запоминающий выбранные поля и подставляющий их в форму при перезагрузке страницы. Сама по себе перезагрузка не требуется для заполнения, это только для удобства, т.к. форма большая. Этот тоже работает. Но только с полями, которые прописаны изначально, а с теми, которые заполняются динамически, не работает. Хочется, чтобы при первом входе все поля заполнялись бы значениями, которые потом можно было бы менять. Два первых селекта я таким образом заполнила - выбрала данные по умолчанию, а скрипт отметил выбранные ранее. Но в третьем селекте слишком много данных по умолчанию (поэтому он и строится динaмически), да и не логично как-то давать лишнюю инфу в то время, когда уже выбраны опции в двух предыдущих селектах.

Объясню на примере
первый селект - выбор типа а/м (легковая, грузовая, с/х и пр.)
второй селект - выбор марки (зависит от типа, но по умолчанию подставляется значение первой опции в первом селекте)
третий селект - выбор модели (зависит от первых двух селектов и еще двух инпутов, где вводится год и объем двигателя)

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

Я тут это оставлю и пойду думать дальше. Один из скриптов - sisyphus. Тот, который запоминает форму.

  Ответить  
 
 автор: confirm   (26.10.2016 в 02:25)   письмо автору
 
   для: elenaki   (24.10.2016 в 12:53)
 

Много написано, а что к чему совсем не понятно. Что значит "запоминает форму", ее html-код в локальном хранилище клиента? Ну так какие тогда могут быть проблемы? Запоминает данные формы в локальном хранилище? Ну так тогда должен быть сценарий строящий форму по этим данные и опять какие могут быть проблемы?
Или перезагрузка и серверу определить новые поля? Ну так какие проблемы если он строит форму, знает ключи и чему они принадлежат?

Вопрос ни о чем.

  Ответить  
 
 автор: elenaki   (26.10.2016 в 11:41)   письмо автору
 
   для: confirm   (26.10.2016 в 02:25)
 

Запоминает - значит хранит введенные значения полей. Я не знаю, как добраться до локального хранилища. Значения в поля подставляются, значит, они есть. А если есть, их можно достать. Проблема в том, что один скрипт сохраняет и подставляет значения, а другой создает новые элементы формы, в которые тоже надо бы подставить/выделить. В двух селектах выделяется, а в третьем не хочет.

  Ответить  
 
 автор: confirm   (26.10.2016 в 14:26)   письмо автору
 
   для: elenaki   (26.10.2016 в 11:41)
 

Локальное хранилище, это объект localStorage - https://developer.mozilla.org/ru/docs/Web/API/Window/localStorage, https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API.

То что запоминаются значения полей совсем еще не означает работу некоего скрипта. Значения полей запоминает и браузер, под именем поля, и это называется автокомлете, которое можно отключить у формы/поля в атрибуте autocomplete="off".

Если это работа какого-то скрипта, то только его изучение и правка может помочь.

  Ответить  
 
 автор: elenaki   (26.10.2016 в 16:11)   письмо автору
 
   для: confirm   (26.10.2016 в 14:26)
 

У меня именно скрипт этим занимается и называется он Сизиф, я же написала в первом посте.

  Ответить  
 
 автор: confirm   (27.10.2016 в 03:50)   письмо автору
 
   для: elenaki   (26.10.2016 в 16:11)
 

Значит изучайте свой Сизиф, дорабатывайте.

  Ответить  
 
 автор: Deed   (28.10.2016 в 08:17)   письмо автору
 
   для: confirm   (27.10.2016 в 03:50)
 

...

  Ответить  
 
 автор: Deed   (28.10.2016 в 08:18)   письмо автору
 
   для: elenaki   (26.10.2016 в 16:11)
 


<script>
function LSS(a,b){
    localStorage.setItem(a, b);
}

function LSG(a){
    var ret = localStorage.getItem(a);
    if(ret == 'undefined'){
        return false;
    }
    else{
        return ret;
    }
}

function LSR(a){
    localStorage.removeItem(a);
}

</script>

  Ответить  
 
 автор: confirm   (28.10.2016 в 14:18)   письмо автору
 
   для: Deed   (28.10.2016 в 08:18)
 

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

console.log(!!localStorage['a'] ? localStorage['a'] : false)
localStorage['a'] = 1;
console.log(!!localStorage['a'] ? localStorage['a'] : false)

  Ответить  
 
 автор: Deed   (29.10.2016 в 10:49)   письмо автору
 
   для: confirm   (28.10.2016 в 14:18)
 

Да, конечно. Все так.
Просто, эти функции писал для себя, чтобы не печатать каждый раз "localStorage['a'] = 1;" - три буквы, и готово.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования