我的表单包含以下元素:纲领性部分提交
- ICEfaces的文本字段输入搜索条件。
- icefaces命令按钮(查找)使部分提交并填充与新的匹配用户列表的div。
- 其他两个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">
问题:会发生什么情况是,当用户按回车,发现按钮被调用,但整体形式被提交,所以出现需要验证错误为另外两个文本字段。
请告知为什么整个表单正在提交,以及如何处理此类问题。
真的,我不知道究竟HTML的'<冰:commandButton>效果'产生,但尝试'的onclick的()''而不是点击()'。它只会触发按钮的“onclick”功能,而不是点击按钮。 – BalusC 2012-01-04 17:50:04
@BalusC,onclick给出了相同的行为,我添加了冰命令按钮的生成代码。 – 2012-01-05 12:31:43