iteye_21250
2011-06-02 22:00 浏览 256

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条回答 默认 最新

  • 已采纳
    weixin_42317583 weixin_42317583 2011-06-07 17:35

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

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

    点赞 评论 复制链接分享
  • weixin_42317583 weixin_42317583 2011-06-08 10:09

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

    点赞 评论 复制链接分享

相关推荐