Мне кажется, что я делал этот сценарий много раз, и он обычно работает, поэтому я, очевидно, что-то упустил.
Вот моя кнопка ASP.NET на стороне сервера:
<asp:Button ID="btnFoo" runat="server" Text="Foo" CssClass="button foo" OnClientClick="foo_Click();" />
Которые получают на клиенте как:
<input type="submit" name="reallylongclientid" value="Foo" onclick="foo_Click();WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(reallylongclientidandpostbackoptions, false, false))" id="reallylongclientid" class="button foo">
Там нет никаких сюрпризов.
Вот сюрприз, в моей функции JavaScript:
function foo_Click() {
return false;
}
Хорошо, так что естьбольше, чем это, но я сократил его, чтобы доказать свою точку зрения.
Когда я нажимаю кнопку, он вызывает функцию на стороне клиента и возвращает ложь.
Но он по-прежнему отправляет сообщенияобратно на сервер, почему?
Я в основном хочу сделать это по нажатию кнопки:
- Выполнить проверку на стороне клиента.
- Если проверка пройдена, отправьте обратно
- Если нет, отобразите некоторые сообщения об ошибках в форме.
Конечно, я мог бы изменить это на кнопку на стороне клиента (input type = "button")и вручную запускаю обратную передачу, когда я хочу, но мне не нужно этого делать.Или я должен?