表单加载后会触发哪个事件?我的要求是在视图加载时基于一些condation一些控件设置为禁用模式(只读)
那么如何处理这个(哪个事件)
我试过这个formpanel.on({ actioncomplete: function (form, action) {}
但是没有被解雇
提前致谢
答案 0 :(得分:5)
我今天只是在努力解决这个问题。要记住的重要一点是form.loadRecord()
上有无事件,因为它只是一个setValues()
包装器。如果您希望在loadRecord()
上触发某个事件,则需要通过扩展Ext.form.Basic
(并可能将事件添加到Ext.form.Panel
中的relayEvents)来自行定义。
答案 1 :(得分:4)
我假设您在记录/数据加载到表单后发生了一个事件。该行动将在basicForm
和来电中处理。在basicForm
load()
次调用doAction()
内,您应该可以使用basicForm
actioncomplete :(形成这个,行动 动作)动作发生时触发 完成。
actionfailed :(形成这个,行动 action)操作失败时触发。
之前的行动:(形成这一点,行动 动作)在任何动作之前触发 执行。返回false取消 动作。
答案 2 :(得分:0)
您可以使用Ext.util.Observable.capture观察Observable上的事件。以下是观察表单的示例,该表单已加载然后提交:
http://jsfiddle.net/el_chief/HBah5/4/
我看到了这些事件:
fieldvaliditychange
fielderrorchange
validitychange
dirtychange
前动作(我点击提交)
afterlayout
actionfailed(它没有提交到任何地方)
不要忘记,BasicForm有自己的事件(虽然我相信它们都被转发到Form),就像表单中的Fields一样。
更改basic.trackResetOnLoad也会更改某些事件,特别是“dirtychange”