【问题标题】:JSF text field onchange submit tabbingJSF 文本字段 onchange 提交选项卡
【发布时间】:2010-12-27 21:01:54
【问题描述】:
我有多个文本字段,每个字段都有 onChange="submit();"以便立即保存数据。我遇到的问题是切换到下一个字段将不起作用,因为它将提交然后由于页面提交而失去对该字段的关注。此外,如果用户要单击他们要编辑的下一个文本字段,它将失去焦点,并且由于页面提交,他将不得不再次单击它。有没有办法解决这个问题,以便在页面提交后将焦点设置到预期的文本字段?
背景:
我有一个通过这些多个字段填充的动态表。用户将从下拉列表中选择一个值,然后单击“新建”按钮,然后将显示与所选值对应的所有字段。我决定让每个文本字段提交 onChange 而不是提交按钮,以减少由于所有输入数据的复杂性而导致的页面混乱。另外,表格和其他所有内容都会自动更新,这看起来更酷。
谢谢。
【问题讨论】:
标签:
jsf
forms
submit
textfield
onchange
【解决方案1】:
我遇到的问题是切换到下一个字段将不起作用,因为它将提交然后由于页面提交而失去对该字段的关注。
是的,只要您触发 onchange 事件,您的表单就会被提交,当 JSF 生命周期结束时,您的页面会再次呈现并且您失去焦点。
在我看来,您有多个输入测试,并且您想动态地重新呈现表格。为什么不尝试使用 ajax 的另一种方法?首先使用 ajax 处理您的输入字段,然后动态重新呈现您的表格。
例子:
<h:inputText id="input" value="#{mybean.input}" >
<a4j:support
event="onchange"
ajaxSingle="true"
action="#{mybean.doSomething()}"
reRender="myTable" />
</h:inputText>