咱们继续。
其实,一个xml的parser做到这个份儿上也就差不多了。后面需要的就是另外的一个module来去做填表的事情,还有一个module去做translate的事情。
Fill the table
将生成的内容填写到表中。那么这个表是什么呢。
Js中有array数组。但是这个数组是1d的,没有多d的数组支持,至少IE6是这样。那怎么样来实现呢。
这里通过自己创建函数来进行建立数组吧。对于这个数组的解析,已经有了相关的文档支持,到时候看看存储的txt文档就好了。
所有的表都是2d表。
设计的初步方案按照lv1中设计的来定就可以了。
现在比较关键的设计就是如何实现translate。这里的translate我们先用lv1的component来进行考虑。
现在前提假设是我们已经得到了这张表~
其实translate表依然需要一个解析的对照表的。啊。今天下午尝试着把这个写完。
回到lv1的设计。
这里所有的设计暂时不考虑event的实现
Button
普通的button
<button class=buttonClass name= componentName id= componentName style=buttonStyle> buttonValue </button>
Button的默认value是componentName
带有逻辑的button
Reset
<input class=buttonClass style=buttonStyle type=reset name=componentName id=componentName value=buttonValue />
Submit
<input class=buttonClass style=buttonStyle type=submit name=componentName id=componentName value=buttonValue/>
这里的value是可以默认的。也就是说可以不用填写相应的值即可有默认值。默认值为相应的<input>默认值。
Textfield
<input class=textFieldClass style=textFieldStyle type=text name=cmpntName id=compntName value=textFiledValue/>
Value默认为空。
Label
<label class=labelClass style=labelStyle name=cmpntName id=compntName>labelValue</label>
Passwordfield
<input class=passwordFieldClass style=passwordFieldStyle type=password name=cmpntName id=compntName/>
在这里password可以有value的但是啊浏览器会直接清除掉,所以value的值是没用处的。
Textarea
<textarea rows=rnumber cols=cnumber class=textAreaClass style=textAreaStyle name=cmpntName id=compntName> textAreaValue </textarea>
Combobox and list
<select class=cbClass/listClass style=cbStyle/listStyle name=cmpntName id=compntName ><option></option></select>
注意,这里的value是有很多的,所以说要根据compntName来进行value的整合。
Radiobutton
<input class=radioButtonClass style=radioButtonStyle type=radio name=groupName id=compntName value=radioValue/>
这里的value是必须的。
checkbox
<input class=checkBoxClass style=checkBoxStyle type=checkBox name=groupName id=compntName value=checkValue/>
Link
<a href=linkhrefValue class=linkClass style=linkStyle name=compntName id=compntName>linkValue</a>
Frame/Dialog/Panel
<div class=divClass style=divStyle name=compntName id=compntName></div>
这里也就是说,这三个div控件其实应用到这样就可以了,然后需要注意的是最后面的</div>。因为这三个component有一定的特殊性,这两个div标签中间不是一般的value,而是object。需要把</div>拆开。在最后封底。在翻译的过程中一定要看清楚这个范围到哪里。