Проверка Javascript не работает, когда я использую Struts 2 JQuery кнопку отправки события OnClick
Я использую struts2-jquery-plugin-3.2.1 . Я использую кнопку "Отправить", я вызываю проверку javascript на событие onclick, но моя форма отправляется, даже если проверка не выполнена. Вот код:
<sj:submit
value="Add"
targets="idRightMainDiv"
button="true"
buttonIcon="ui-icon-gear"
formIds="addExerDetailsForm"
onclick="return SetsRepsFormValidate()" //calling javascript validation
tabindex="7"/>
function SetsRepsFormValidate() {
var summary = "";
summary += isSets();
summary += isReps();
if (summary != "") {
dhtmlx.alert(summary);
return false;
}
else {
return true;
}
}
2 ответа
Решение
Я получил решение по этой ссылке:
поместите этот код в главном разделе
<sj:head jqueryui="true"/>
<script type="text/javascript">
$.subscribe('before', function(event,data) {
var fData = event.originalEvent.formData;
alert('About to submit: \n\n' + fData[0].value + ' to target '+event.originalEvent.options.target+' with timeout '+event.originalEvent.options.timeout );
var form = event.originalEvent.form[0];
if (form.echo.value.length < 2) {
alert('Please enter a value with min 2 characters');
// Cancel Submit comes with 1.8.0
event.originalEvent.options.submit = false;
}
});
$.subscribe('complete', function(event,data) {
alert('status: ' + event.originalEvent.status + '\n\nresponseText: \n' + event.originalEvent.request.responseText +
'\n\nThe output div should have already been updated with the responseText.');
});
$.subscribe('errorState', function(event,data) {
alert('status: ' + event.originalEvent.status + '\n\nrequest status: ' +event.originalEvent.request.status);
});
</script>
И написал распорки 2 JQuery отправить кнопку события-
<div class="type-button">
<sj:submit targets="result"
value="AJAX Submit"
timeout="2500"
indicator="indicator"
onBeforeTopics="before"
onCompleteTopics="complete"
onErrorTopics="errorState"
effect="highlight"
effectOptions="{ color : '#222222' }"
effectDuration="3000"/>
</div>`
Вы должны действительно добавить проверку к onsubmit
Событие формы в виде формы также можно отправить, нажав клавишу ввода.
Ваша текущая проверка будет срабатывать, только если пользователь нажмет на кнопку.