Обязательное поле Валидатор позволяет использовать функцию onclick, даже если поля недействительны

0

У меня есть обязательные поля на моей странице, которые работают, однако они все еще позволяют кнопке вызывать функцию java-скрипта. например, я могу добавить текст и удалить его, и валидатор покажет ошибку. Если нажать кнопку "Отправить", она все еще выполняет функцию javascript в onclientclick. Как я могу остановить его от выполнения функции в onclientclick?

Кнопка:

<asp:Button ID="formPost" text="Submit" class="btn btn-default" runat="server" CausesValidation="true" OnClientClick="return sendHPCIMsg();" />

Примечание. У меня нет доступа к редактированию функции sendHPCIMsg().

Поле для проверки:

<div class="form-group col-small">
 <label class="col-sm-2 control-label">First Name: </label>
                                            <div class="col-sm-8">
                    <asp:TextBox ID="fNameTxt" runat="server" CssClass="input-small"></asp:TextBox>
                                                <asp:RequiredFieldValidator ID="RequiredFieldValidatorFname" ControlToValidate="fNameTxt" runat="server" ErrorMessage="First name is required" ValidationGroup="billing" ForeColor="Red"></asp:RequiredFieldValidator>
                                            </div>
                                        </div>

Также поле выше находится в AJAX CollapsiblePanelExtender, поэтому здесь используется javascript для включения/выключения проверки (на основе флажка):

<script>
        $('#SameBillingChkBx').bind('click', function (e)
        {
            if ($(this).is(':checked'))
            {
                $.each(Page_Validators, function (index, validator) {
                    if (validator.validationGroup == "billing") {

                        ValidatorEnable(validator, false);

                    }
                });
            }
        })
    </script>
Теги:
validation
ajaxcontroltoolkit

3 ответа

1
Лучший ответ

Я понял. Я написал следующую функцию:

function submitform()
{
    if (!Page_IsValid) {
        return false;
    }
    return sendHPCIMsg();
}

Затем я вызвал это на мой клик.

<asp:Button ID="formPost" text="Submit" class="btn btn-default" runat="server" CausesValidation="true" OnClientClick="return submitform();" />

Спасибо всем за помощь!

0

add: OnClientClick="if(Page_ClientValidate()) CloseDialog();"

<asp:Button ID="formPost" text="Submit" class="btn btn-default" runat="server" CausesValidation="true" OnClientClick="if(Page_ClientValidate()) return sendHPCIMsg();" />
0

Добавить функцию Inside

 var val = <%= RequiredFieldValidatorFname.ClientID %>;
  if (val.isvalid == false) {
   //Do something
 }

это отключит валидатор для следующего щелчка

Ещё вопросы

Сообщество Overcoder
Наверх
Меню