ExtJS3.3.1 Button disabled后还可以提交?

有一段代码,放到extjs官网的论坛上,同时所以提到这里来:
同时也可以参考这里:http://www.sencha.com/forum/showthread.php?135592-button-disabled-and-submit-form-bug
[code="javascript"]


<!-- Ext.onReady(function () { var btn = new Ext.Button({ disabled: true, text: "start submit", type: "submit", renderTo: "j_id3:submit" }); btn.on("click", function(){alert('aa');}); }); //-->


[/code]

这段代码,执行的时候把form提交了,但是disabled已经设置true了,不想让它提交。
其实是这样的,在Ext3.3.1中有如下代码:
[code="javascript"]
// private
onClick : function(e){
if(e){
e.preventDefault();
}
if(e.button !== 0){
return;
}
if(!this.disabled){
this.doToggle();
if(this.menu && !this.hasVisibleMenu() && !this.ignoreNextClick){
this.showMenu();
}
this.fireEvent('click', this, e);
if(this.handler){
//this.el.removeClass('x-btn-over');
this.handler.call(this.scope || this, this, e);
}
}
},
[/code]

这个代码没有被调用到,而是直接调用了form的提交。而这点跟Ext2.0是不兼容的,在2.0里不会提交表格。

2个回答

属性 type: "submit",跟 disabled已经设置true冲突,最好btn别使用type属性,如果有多个表单就要选择提交哪个表单

想要提交表单,先取得表单对象,再手动提交

你自己看怎么办舒服,不过不建意修改原代码,要么重构,不然改手动提交多方便

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐