parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

как то вы все усложнили...

KLeN 17.05.2007 17:38 / 17.05.2007 17:39

вот первое что пришло в голову:
@main[]
.......
$hForm[^parseForm[]]
.......


####################################################################################################
@parseForm[][t;k;v;h;result]
$result[^hash::create[]]
$h[$result]
^form:fields.foreach[k;v]{
	$t[^k.split[.]]
	^t.menu{
		^if(^t.line[] != ^t.count[]){
			^if(!def $h.[$t.piece]){
				$h.[$t.piece][^hash::create[]]
			}
			$h[$h.[$t.piece]]
		}{
			$h.[$t.piece][$v]
		}
	}
	$h[$result]
	
}
#end @parseForm[][t;k;v;result]
создает хеш согласно поставленной вами задачи, единственное что в форме не должно быть ситуаций
<input name="test" value="1">
<input name="test.test2" value="2">
потому что непонятно как трактовать в таком случае test как хэш или как строку, при желании можете добавить и обработку таких ситуаций