обработка ошибок javascript

#asp.net #javascript #event-handling

#asp.net #javascript #обработка событий

Вопрос:

У меня есть функция javascript для проверки ошибок, которую я вызываю при событии OnClicentClick кнопки. Как только он поймает ошибку, я хочу остановить выполнение события click. Но в моем случае это всегда, это всегда выполняет событие onclick.

Ниже приведена моя функция:

 function DisplayError() {

        if (document.getElementById('<%=txtPassword.ClientID %>').value.length < 6 || document.getElementById('<%=txtPassword.ClientID %>').value.length > 12) {
            document.getElementById('<%=lblError.ClientID %>').innerText = "Password length must be between 6 to 12 characters";
            return false;
        }
        var str = <%=PhoneNumber()%>;
        if(str.length <10)
        {
            alert('<%=phoneNum%>'.length);
            document.getElementById('<%=lblError.ClientID %>').innerText = "Phone Number not in correct format";
            return false;
        }
    }
  

html-код кнопки:

 <asp:Button runat="server" Text="Submit" ID="btnSubmit" ValidationGroup="submit" onclick="btnSubmit_Click" OnClientClick="DisplayError()"/>  
  

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

Ответ №1:

Используйте OnClientClick=»если (!DisplayError()) возвращает false;»

Таким образом, если ошибки не произошло, все равно будет выполнена обратная передача, но только при возникновении ошибки она вернет false и отменит обратную передачу.

Комментарии:

1. привет, Брайан, я попробовал ваш код, но у меня он по-прежнему не работает. Не могли бы вы, пожалуйста, проверить мою функцию javascript, я допускаю там ошибку??

2. спасибо Брайану, ваш код наконец-то сработал для меня. Пришлось выполнить некоторую отладку, но я получил свою ошибку.

Ответ №2:

Использование OnClientClick="return DisplayError();"

Комментарии:

1. привет, я попробовал ваш код, но он по-прежнему не работает, пожалуйста, проверьте, у меня также происходит событие onclick при нажатии кнопки

2. я хочу запустить событие onclick, когда OnClientClick не возвращает никакой ошибки, но не тогда, когда оно выдает мне ошибку