JamesGC 2010-10-12 09:01
浏览 252
已采纳

为什么combo的id和hiddenName不能一样

为什么combo的id和hiddenName不能一样

一样的话下拉就跑别的地方显示了

  • 写回答

1条回答 默认 最新

  • cyrilluce 2010-10-12 09:17
    关注

    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冲突

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?