Авто заполение формы
От: Lonely Dog Россия  
Дата: 01.10.18 17:12
Оценка:
Добрый день!

Есть JSON документ с полями name, description и пр. Есть HTML с контролами, ID которых совпадают с полями документа (т.е. есть <widget type='text' id='name/>). В C++ вызываю sciter::value::from_string(json, CVT_JSON_LITERAL), получаю sciter::value, отдаю ее в tiscript, а там заполняю форму (куча строк вида $(#name).value = v.name. Соотвественно, потом делаю обратную операцию (получаю содержимое контролов, отдаю в нативный код, там что-то делаю, сохраняю и пр.). Можно ли это как-то автоматизировать? Чтобы кто-то автоматом прошелся по документу, выставил значения контролов, потом наоборот. Может такое уже есть? Или может я могу в ti-script пройтись по value, как по std::map (т.е. получив в цикле пары 'ключ'-'значение')? Или может можно пройтись по форме, получить список контролов, и для каждого контрола прочитать из value (по имени) поле?


Спасибо
Re: Авто заполение формы
От: c-smile Канада http://terrainformatica.com
Дата: 02.10.18 04:43
Оценка:
Здравствуйте, Lonely Dog, Вы писали:

LD> Может такое уже есть?


Есть кончено и в разных вариантах. Самый простой:

Если есть такое:
<form>
   <input|text(foo) />
   <button|radio(bar) value="a1">A1</button>
   <button|radio(bar) value="a2">A2</button>
   <button|radio(bar) value="a3">A3</button>
<form>


Тогда в скрипте надо присваивать value самой форме (behavior:form принимает value как объект — name/value pairs):

$(form).value = { 
   foo:"something", 
   bar:"a2" 
};
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.