附加到XBL控件的javascript可以知道表单所处的模式吗?

时间:2015-11-21 00:21:19

标签: javascript orbeon

JS代码可以确定表单是否处于“设计”模式吗?与“运行”模式相反。

2 个答案:

答案 0 :(得分:0)

首先,我应该说,在大多数情况下,无论是在表单生成器中还是在已发布的表单中运行,您都希望XBL组件的行为完全相同。但我知道有些情况下这是不可能的。

  • 在JavaScript中,我认为您要问的是,没有"官方API",但您可以使用类似ORBEON.jQuery('.fb-main').is('*')的内容。
  • 在XPath中,有一个RFE to add an XPath function for this,在实施之前,您可以使用workaround

答案 1 :(得分:0)

我将这个小函数放在一起,以便控件可以知道它正在使用的模式。$是jquery。

function formMode() {
    var view = $( '#fr-view' );
    if ( view.hasClass( 'fr-mode-test' ) ) return 'test'
    if ( view.hasClass( 'fr-mode-view' ) ) return 'view'
    if ( view.hasClass( 'fr-mode-edit' ) ) 
        if ( view.find( '.fb-main' ).length > 0 ) return 'design'
    return 'edit'
}