Кнопка Asp с PostBackUrl, проверенная обработчиком щелчков JavaScript, разрывает другие кнопки

У меня есть главная страница, которая содержит кнопку с PostBackUrl. Я добавляю валидацию к кнопке с помощью jquery и возвращаю false, если форма недействительна.

Кнопка:

<asp:Button ID="btnSearch" runat="server" Text="Search" CssClass="search-button" 
PostBackUrl="/some/rewriten/url" />

JavaScript

<script type="text/javascript">
    $(function () {
        $(".search-button").click(function (e) {
            if (!ValidateForm()) {
                return false;
                //e.preventDefault();
            }
        });
    });
</script>

У меня также есть другая страница с формой, где пользователи могут оставлять контактную информацию. Эта форма имеет нормальную кнопку:

<asp:Button ID="btnSend" runat="server" Text="Send" 
CssClass="button" OnClick="btnSend_Click" />

Если я использую первую кнопку и форма недействительна, сообщения об ошибках выводятся на печать, и пользователь не перенаправляется на страницу PostBackUrl. После этого, если я нажму кнопку btnSend другой формы, пользователь будет перенаправлен на страницу PostBackUrl, как если бы URL-адрес обратной записи был установлен и сохранен ранее.

Есть идеи, почему это происходит, и как решить эту проблему? Я где-то читал, что делаю это OnClientClick="if(!ValidateForm())? return false;" Возможно, это решит проблему, но добавление OnClientClick в моем сценарии неприемлемо, обработчик кликов для проверки должен быть добавлен с помощью javascript.

0 ответов

Другие вопросы по тегам