Как запретить отправку aui-формы, когда требуемый aui поданный валидатор пуст
У меня есть форма и обязательное поле, как показано ниже. Я добавил валидатор поля aui для предотвращения отправки формы, если обязательное поле пустое. Но это не работает. Кто-нибудь, пожалуйста, помогите мне.
<aui:form id="fm" name="fm" method="post" action="<%= someURL %>">
<aui:input id="txtArea" label="value" name="preferences--txtArea--" type="textarea" style="width:330px;height:65px;" >
<aui:validator name="required" />
</aui:input>
<aui:input name="termsAndCondition" id="termsAndCondition" type="checkbox" label="termsAndConditons"/> <br>
<aui:button type="button" value="save" onClick="showDialog()" />
</aui:form>
<aui:script>
function showDialog()
{
var termsAndCondition= A.one('#<portlet:namespace/>termsAndCondition').attr('value');
var r=confirm("Are you sure to change data?");
if (r==true && termsAndCondition=="true")
{
A.one('#<portlet:namespace/>fm').submit();
}
}
</aui:script>
2 ответа
Решение
Я нашел ошибку в своем коде.. Я использовал button type = "button", как вы можете видеть
<aui:button type="button" value="save" onClick="showDialog()" />
но для использования валидатора поля aui работа в соответствии с требованием, чтобы предотвратить отправку формы, когда обязательное поле пусто. используйте кнопку type="submit". так исправленная строка
<aui:button type="submit" value="save" onClick="showDialog()" />
Теперь работает нормально:):)
Попробуйте с этим подходом
<aui:form id="fm" name="fm" method="post" action="<%= someURL %>" onSubmit="check();>
<script type="text/javascript">
function check()
{
}
</script>
ИЛИ ЖЕ
вы можете вернуть false из вашей функции showDialog()
Надеюсь, что это поможет вам