程序化部分提交

时间:2012-01-04 15:44:36

标签: java-ee jsf-2 icefaces icefaces-2

我的表单由以下元素组成:

  1. icefaces text field 以输入搜索条件。
  2. icefaces命令按钮(查找)使部分提交并使用新的匹配用户列表填充div。
  3. 其他两个icefaces文本字段,在提交整个表单时我需要他们的值。
  4. 要求:我希望当用户在文本输入字段中输入时,点击查找按钮(当鼠标点击按钮时会自动部分提交)

    所以这就是我的尝试:

    <ice:inputText id="recipient" value="#{myBean.searchValue}" size="60" 
                         onkeydown="handleEnter(event,this.form);" >
                    </ice:inputText>
    
                    <ice:commandButton id="find" value="Find"  action="#{myBean.findEmployees}" partialSubmit="true"
                         >
                        <f:ajax execute="@this" render="employees" />
                    </ice:commandButton> 
    
    • JS方法:

      function handleEnter(event,form){
      
         if (event.keyCode == 13){
          document.getElementById(form.name+':find').click(); 
         }
      }
      
    • 生成的冰命令按钮:

       <input type="submit" value="Find" style="width: 60px;"     onfocus="setFocus(this.id);"     onclick="iceSubmitPartial(form, this, event);return false;" onblur="setFocus('');" name="myForm:find" id="myForm:find" class="iceCmdBtn findButton">
      

    问题:当用户按Enter键,调用查找按钮,但提交整个表单时会发生什么,因此其他两个文本字段会显示所需的验证错误。

    请告知为什么要提交整个表单,以及如何处理此类问题。

2 个答案:

答案 0 :(得分:0)

要使用部分提交使输入按钮正常工作,我必须从输入中删除'required = true'标记并使用JS进行验证。

答案 1 :(得分:-1)

按钮

上设置立即数=真