Подтвердить что ты не робот

Отключить отправку при нажатии на кнопку

Я хочу отключить обратную передачу после нажатия <asp:Button>. Я попытался сделать это, назначив onclick="return false", но в кнопке не работает.

Как я могу это исправить?

4b9b3361

Ответ 1

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

Ответ 2

onClientClick="return false"

Это должно быть! Onclick будет ссылаться на функцию ASP.net, onClientClick будет отображаться как Onclick на элементе управления в HTML.

Ответ 3

onclick используется для подключения событий на стороне сервера. Вам нужно использовать обработчик OnClientClick, например <asp:button OnClientClick="return false;" />

Ответ 4

Увидев, что ни один из этих ответов не помог мне. Я нашел решение. Вместо того, чтобы использовать кнопку ASP.NET <asp:Button>, вы должны использовать кнопку HTML. Он отлично работал и выглядит точно так же, как кнопка ASP.NET. Чтобы получить кнопку HTML для отправки на стороне сервера, вы используете атрибут onserverclick.

<input id="btnState" class="AddButtons" runat="server" type="button" value="Add State" onclick="swap('one', 'two');" />

Для моего кода я использовал JS для выполнения чего-то на стороне сервера. <asp:Button> не прекратит делать сообщения, но, как я уже сказал, кнопка HTML исправила мою проблему. Пожалуйста, отметьте как ответ или проголосуйте, если это вам помогло.

Ответ 5

Это сработало для меня вот так:

В <body>:

function myfunction() {
            return false;
        }

и в <head>:

<asp:ImageButton ID="ImageButton1" runat="server" Height="52px" Width="58px" OnClientClick="myfunction(); return false;"/>

Ответ 6

Поскольку вы хотите сделать это после обратной передачи, я предполагаю, что вы хотите предотвратить обратную передачу двойного щелчка? В этом случае вам лучше всего иметь какую-то переменную сохранения состояния, которую вы устанавливаете после первого щелчка на стороне клиента. В качестве простого примера

var clicked = false;
function AllowOneClick(){
   if(!clicked){
      clicked = true;
      return true;
    }
 return false;
 }

Затем вы устанавливаете OnClientClick, чтобы вернуть этот результат метода на вашей кнопке, чтобы OnclientClick="return AllowOneClick()" Это, конечно, будет работать только на одну кнопку, но это должно дать вам общую идею.

Ответ 7

В моем случае ни одно из вышеперечисленных решений не работало для меня.

Я хотел сначала вызвать функцию на стороне клиента, а затем остановить обратную передачу на сервер. Моим решением было просто добавить ключевое слово return перед вызовом моей клиентской функции, то есть:

<asp:Button Runat=Server OnClientClick="return fyFunction;">

Моя клиентская сторона script содержит return false в последней строке кода.

Ответ 8

с помощью UseSubmitBehavior = "false" вы можете отключить обратную передачу onclick

Ответ 9

Используйте это: -

  someID.Attributes.Add("onClick", "return false;");

Ответ 10

Поместите вашу кнопку asp внутри панели обновления, например

<asp:UpdatePanel ID="updPnl" runat="server" UpdateMode="Conditional" RenderMode="Block">
  <ContentTemplate>
    <asp:Button ID="btnID" runat="server"  OnClick="btn_Click" />
  </ContentTemplate>
</asp:UpdatePanel>

Надеюсь, что это полезно