[SEAM] <rich:modalPanel/>与form同时使用的两点注意事项

打倒小日本 2008-03-13
1.modalPanel里如果包含<h:input/> <h:commandButton/>之类的元素时,必须有自己的from,也就是说<h:form/>必须在在<rich:modalPanel/>的里面,否则表单控件都无法正确执行。
2.如果modalPanel自己内部有的form时,就不要再用其他的form来包住modalPanel控件。
<rich:modalPanel>
  <f:facet name="header">
    <h:outputText value="Test" />
  </f:facet>
  <h:form>
    <t:commandButton value="Test" action="#{TESTCONTROLLER.test}"/>
  </h:form>
</rich:modalPanel>

<h:form>
<!-- 其他组件 -->
</h:form>


以上是RichFaces 3.14官方文档里两段话的意译
由于是英文的文档之前没有注意,经过血的教训奋斗两天后才被发现...
在这里写出来,希望能对大家有帮助
loulis 2008-04-01
我的modalPanel里面没有form也可以啊,是不是可以这样理解,modalPanel实际上也是宿主也上面的一段HTML代码,只要其在一个form中,就可以正常提交commandButton的事件,只是提交的会是整个form内的数据,而不仅仅是modalpanel?
rockjava 2008-04-21
可以有多个form,但是用的时候不能让form有嵌套的现象。这样就可以正常使用了。
liuyu220 2010-01-08
rich:modalPanel这个东西生成的html代码是一段"display:none"的div。也就是说这个东西其实就是当前用这个modalPanel页面的一部分,只是没有显示出来。<h:input/> <h:commandButton/>这些标签是不是只能提交form中元素呢?如果是这样的话。loulis所说的:
引用
我的modalPanel里面没有form也可以啊,是不是可以这样理解,modalPanel实际上也是宿主也上面的一段HTML代码,只要其在一个form中,就可以正常提交commandButton的事件,只是提交的会是整个form内的数据,而不仅仅是modalpanel?

就容易理解了。不知道我这样理解对不对
打倒小日本 2010-01-08
RichFaces默认对<rich:modalPanel/>做了特殊处理

无论此标签定义在哪个位置
RF都会将它提到<body/>标签的直属下级位置
因此会脱离原来<h:form/>的嵌套

这个<h:form/>当然也就无效了
blacklong 2010-08-20
打倒小日本 写道
RichFaces默认对<rich:modalPanel/>做了特殊处理

无论此标签定义在哪个位置
RF都会将它提到<body/>标签的直属下级位置
当然也会脱离原来<h:form/>的嵌套

这个<h:form/>当然也就无效了

恩,正解。
may_cauc 2011-03-04
有个属性:

domElementAttachment="parent"


可选body,form,parent
yzhw 2011-05-18
打倒小日本 写道
RichFaces默认对<rich:modalPanel/>做了特殊处理

无论此标签定义在哪个位置
RF都会将它提到<body/>标签的直属下级位置
因此会脱离原来<h:form/>的嵌套

这个<h:form/>当然也就无效了


研究得很深啊
Global site tag (gtag.js) - Google Analytics