gpt4 book ai didi

jsf - 如果没有更改输入值,则避免提交表单

转载 作者:行者123 更新时间:2023-12-02 02:14:12 27 4
gpt4 key购买 nike

在 JSF2 中有什么方法可以避免表单提交,还是提交表单时什么都不做?

我们在一个表单中有几个输入字段(20个输入字段),其中填充了一些默认值,如果没有值发生变化,那么我们不想提交表单。

在 JSF 中有什么直接的方法可以实现这一点吗?

<h:form id="summaryForm" prependId="false">
<h:inputText id="inputField1" value="#{summaryBean.inputFieldValue1}" />
<h:inputText id="inputField2" value="#{summaryBean.inputFieldValue2}" />
<h:inputText id="inputField3" value="#{summaryBean.inputFieldValue3}" />
<h:inputText id="inputField4" value="#{summaryBean.inputFieldValue4}" />
<h:inputText id="inputField5" value="#{summaryBean.inputFieldValue5}" />
<h:commandButton action="#{summaryBean.submitSummary}" />
</h:form>

最佳答案

简短的回答是否定的,在普通的 JSF 中你不能那样做。您可以在客户端使用一些 JavaScript 和 jQuery 来完成它, 不过。

... include jQuery somewhere here ...

<script>
var anyInputChanged = false;
var checkIfAnyValueChanged = function(){ return anyInputChanged; };
(function($) {
$(function() {
// set variable anyInputChanged to TRUE on event 'onchange',
// for the fields with class "submitOnlyIfChanged"
$('.submitOnlyChanged').change(function(){ anyInputChanged = true; });
});
})(jQuery);
</script>

<h:form id="summaryForm" prependId="false">
<!-- set up all the fields with the class "submitOnlyIfChanged" -->
<h:inputText class="submitOnlyIfChanged" id="inputField1"
value="#{summaryBean.inputFieldValue1}" />
<h:inputText class="submitOnlyIfChanged" id="inputField2"
value="#{summaryBean.inputFieldValue2}" />
<h:inputText class="submitOnlyIfChanged" id="inputField3"
value="#{summaryBean.inputFieldValue3}" />

<!-- set up a check if any field was changed on button click -->
<h:commandButton onclick="return checkIfAnyValueChanged();"
action="#{summaryBean.submitSummary}" />
</h:form>

关于jsf - 如果没有更改输入值,则避免提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11337567/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com