为什么combo的id和hiddenName不能一样
一样的话下拉就跑别的地方显示了
。
为什么combo的id和hiddenName不能一样
一样的话下拉就跑别的地方显示了
。
Ext中的表单提交时并不是一个个去getValue,而是直接遍历表单html节点,找出表单元素再取值组装。
即,它是模拟传统html表单提交的行为
所以Combo这样的显示与提交的值不同的文本框,只能通过附加一个隐藏的hidden input来进行值提交。
现在的问题是,Combo在创建hidden input时,取ID的逻辑是:
[code="js"]
if(this.hiddenName){
this.hiddenField = this.el.insertSibling({tag:'input', type:'hidden', name: this.hiddenName,
id: (this.hiddenId||this.hiddenName)}, 'before', true);
}
[/code]
也就是说,如果没有配置hiddenId,就以hiddenName作为hidden input的id
而这就导致了ID冲突