Избегайте отправки формы, если входное значение не изменилось
2345 просмотра
2 ответа
160 Репутация автора
Есть ли способ в JSF2, чтобы мы могли избежать отправки формы или просто ничего не делать при отправке формы?
У нас есть несколько полей ввода (20 полей ввода) в форме, которые заполнены некоторыми значениями по умолчанию, если значение не изменяется, мы не хотим отправлять форму.
Есть ли прямой путь в JSF, мы можем достичь этого?
<h:form id="summaryForm" prependId="false">
<h:inputText id="inputField1" value="#{summaryBean.inputFieldValue1}" />
<h:inputText id="inputField1" value="#{summaryBean.inputFieldValue2}" />
<h:inputText id="inputField1" value="#{summaryBean.inputFieldValue3}" />
<h:inputText id="inputField1" value="#{summaryBean.inputFieldValue4}" />
<h:inputText id="inputField1" value="#{summaryBean.inputFieldValue5}" />
<h:commandButton action="#{summaryBean.submitSummary}" />
</h:form>
Автор: uday
Источник
Размещён: 05.07.2012 03:36
Ответы (2)
2 плюса
14638 Репутация автора
Короткий ответ - нет, в простом 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>
Автор: Elias Dorneles
Размещён: 05.07.2012 12:19
0 плюса
324 Репутация автора
Простой подход
var submitButton = document.getElementById("submit");
submitButton.disabled = true;
document.getElementsByName("fieldName")[0].addEventListener('input', function (evt) {
if(this.value != document.forms["formName"]["fieldName"].value){
submitButton.disabled = false;
}else{
submitButton.disabled = true;
}
});
Автор: Shiplu
Размещён: 11.08.2019 07:49
Вопросы из категории :
- jsf Получение значения идентификатора сеанса из запроса JSF
- jsf Условно требуется проверка JSF в форме a4j
- jsf Атрибут привязки вызывает дублирование идентификатора компонента, найденного в представлении
- jsf commandButton / commandLink / ajax действие / метод слушателя не вызван или входное значение не установлено / обновлено
- jsf Format date in <f:selectItem(s) itemLabel> using DateTimeConverter
- jsf Горизонтальное размещение компонентов в JSF
- jsf Доступ к FacesContext из веб-службы
- jsf JSF возвращает пустую / непарсированную страницу с простым / необработанным исходным кодом XHTML / XML / EL вместо отрисованного вывода HTML
- jsf Как вставить размер и время ответа в саму страницу, хотя бы частично?
- jsf В JSF какой самый короткий способ вывести List <SomeObj> в виде разделенного запятыми списка свойств «name» SomeObj
- jsf-2 JSF 2.0 Как связать CSS из папки ресурсов
- jsf-2 Как динамически добавлять компоненты JSF
- jsf-2 javax.faces.application.ViewExpiredException: представление не может быть восстановлено
- jsf-2 Показать / скрыть другие поля ввода, используя h: selectBooleanCheckbox
- jsf-2 Миграция с JSF 1.2 на JSF 2.0
- jsf-2 Load images from outside of webapps / webcontext / deploy folder using <h:graphicImage> or <img> tag
- jsf-2 PrimeFaces commandButton не перемещается и не обновляется
- jsf-2 Как я могу передать выбранную строку в commandLink внутри dataTable или ui: repeat?