ASP.NET/JavaScript - Почему Не, “Возвращают False” не Предотвращение Обратной передачи?

Я чувствую, что сделал этот сценарий много времен, и он обычно работает, таким образом, я, очевидно, пропускаю что-то.

Вот является моя серверная сторона Кнопкой 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;
}

Хорошо, таким образом, существует больше к нему, чем это, но я сократил его для подтверждения точки зрения.

Когда я нажимаю кнопку, она вызывает клиентскую функцию и возвращает false.

Но это все еще отправляет назад на сервер, почему?

Я в основном хочу сделать это при щелчке кнопки:

  1. Сделайте клиентскую проверку.
  2. Если проверка передает, сообщение назад
  3. В противном случае покажите некоторые сообщения об ошибках на форме.

Конечно, я мог изменить это на клиентскую кнопку (входной тип = "кнопка") и вручную начать обратную передачу, когда я хочу, но я не должен должен быть делать это. Или должен я?

7
задан RPM1984 6 August 2010 в 05:58
поделиться

1 ответ

напишите оператор return , чтобы при нажатии на кнопку он возвращал false , что не позволяет отправлять форму

 <asp:Button ID="btnFoo" runat="server" Text="Foo" CssClass="button foo" 
OnClientClick="return foo_Click();" />
18
ответ дан 6 December 2019 в 10:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: