我在页面上有几个inputText
框,其中包含相关的编辑/提交按钮(可以正常工作)。我想这样做,以便当用户从inputText
框内按Enter键时,表单将被提交。对于我的一个表单,它可以工作,而另一个表单则不然。这是不起作用的那个:
<h:form>
<iframe src="#{appInfo.documentation}"/>
<h:commandButton value="Edit" >
<f:ajax listener="#{appInfo.editDoc}" render="@form"/>
</h:commandButton>
<h:commandButton value="Save" >
<f:ajax listener="#{appInfo.saveDoc}" render="@form"/>
</h:commandButton>
<h:inputText value="#{appInfo.documentation}" >
<!-- pressing enter causes page refresh -->
<f:ajax/>
</h:inputText>
</h:form>
而那个:
<h:form>
<h:dataTable id="table" value="#{appInfo.model.apps}" var="a">
<h:column>
<f:facet name="header">URL</f:facet>
<h:outputText value="#{a.url}"/>
<h:inputText value="#{a.url}">
<!-- pressing enter does NOT causes page refresh -->
<f:ajax/>
</h:inputText>
</h:column>
</h:dataTable>
... command buttons
</h:form>
有什么想法吗?
答案 0 :(得分:0)
在输入字段中按“Enter”会触发相同的行为,例如点击该表单的第一个button
。在您的第二个示例中,根本没有按钮。只要你添加,例如那里有一个commandButton
(就像在第一个例子中一样),输入将按预期执行。