Добрый день!
Есть 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 (по имени) поле?
Спасибо
Здравствуйте, 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"
};