#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 не возвращает никакой ошибки, но не тогда, когда оно выдает мне ошибку