ExtJS表单加载

时间:2011-05-19 05:32:30

标签: extjs

表单加载后会触发哪个事件?我的要求是在视图加载时基于一些condation一些控件设置为禁用模式(只读) 那么如何处理这个(哪个事件) 我试过这个formpanel.on({ actioncomplete: function (form, action) {}但是没有被解雇

提前致谢

3 个答案:

答案 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”