2012-01-04 61 views
0

我的表单包含以下元素:纲领性部分提交

  1. ICEfaces的文本字段输入搜索条件。
  2. icefaces命令按钮(查找)使部分提交并填充与新的匹配用户列表的div。
  3. 其他两个icefaces文本字段,当提交整个表单时,我需要它们的值。

要求:我想,当用户按在文本输入字段中输入,即找到按钮被点击(当按钮被用鼠标点击它使部分自动提交)

所以这里是我的尝试:

<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"> 
    

问题:会发生什么情况是,当用户按回车,发现按钮被调用,但整体形式被提交,所以出现需要验证错误为另外两个文本字段。

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

+0

真的,我不知道究竟HTML的'<冰:commandButton>效果'产生,但尝试'的onclick的()''而不是点击()'。它只会触发按钮的“onclick”功能,而不是点击按钮。 – BalusC 2012-01-04 17:50:04

+0

@BalusC,onclick给出了相同的行为,我添加了冰命令按钮的生成代码。 – 2012-01-05 12:31:43

回答

0

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

-1

设置immediate =按钮

+3

请解释你的答案。 – Prudhvi 2015-07-24 14:24:29