| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
max_rip 01.05.2014 14:18
В продолжении темы http://www.parser.ru/forum/?id=76414@CLASS
serialForm
@getData[][names]
$self.data[^hash::create[]]
^form:fields.foreach[field;value]{
^self.parseData[$field;$value]
}
$result[$self.data]
@parseData[field;value][valueName]
$mtcData[^field.match[^(.+?)\^[][g]]
^if($mtcData){
$fieldName[$mtcData.1]
$mtc[^field.match[\^[(.+?)\^]][g]]
^mtc.menu{
^switch(^mtc.line[]){
^case(1){
^if(!($data.$fieldName is "hash")){
$self.data.$fieldName[^hash::create[]]
}
$level1[$mtc.1]
^if(^mtc.count[] == 1){$self.data.$fieldName.$level1[$value]}
}
^case(2){
$level2[$mtc.1]
^if(!($self.data.$fieldName.$level1 is "hash")){
$self.data.$fieldName.$level1[^hash::create[]]
}
^if(^mtc.count[] == 2){$self.data.$fieldName.$level1.$level2[$value]}
}
}
}
}