我有一个文本框,并提交了modalPanel。
单击该按钮,我想检查文本框是否已通过JavaScript函数填充。
任何建议...... ??
这是代码: 对于modalPanel -
<h:form id="theForm">
<rich:modalPanel id="diskPanel" width="350" height="250">
<f:facet name="header">
<h:panelGroup>
<h:outputText value="Create New Disk"></h:outputText>
</h:panelGroup>
</f:facet>
<h:panelGrid columns="2" width="70%">
<h:outputLabel value="Disk Name* :" />
<h:inputText value="#{myform.newDiskName}" id="diskPanel_diskName"/>
<h:commandButton value="Create-Attach" id="submit_disk"
onclick="return validateDiskPanel()"
action="#{myform.cloudButtonActionRequest('newdisk')}">
<rich:componentControl for="diskPanel" attachTo="submit_disk"
operation="hide" event="onclick" />
</h:commandButton>
</h:panelGrid>
</rich:modalPanel>
</h:theForm>
JavaScript函数代码---
function validateDiskPanel(){var obj1 = document.getElementById(“theForm:diskPanel_diskName”); var obj2 = document.getElementById(“theForm:diskPanel_diskSize”); if(obj1 ==“”){alert(“请提供磁盘名称”); Richfaces.showModalPanel( 'diskPanel');返回false; } return true; }答案 0 :(得分:1)
更简单的方法是使用required
道具。以及文本框中的h:message
或rich:message
(或h:messages / rich:全局消息的消息)。
示例:
<h:inputText label="Job" id="box" required="true" value="#{bean.prop}"/>
<rich:message for="box"/>
更具体的例子here。
如果您不想使用required,请检查livedemo站点的Ajax Validators选项卡下的选项,如rich:ajaxValidator,如@niksvp所述。
答案 1 :(得分:0)
使用<rich:ajaxValidator>
。
这是example。
否则,如果您严格使用javascript验证,请不要使用<rich:componentControl>
,因为面板将在页面重新加载时隐藏以便成功提交。