powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Поочередный вызов обработчика кнопки на клиента и на сервере
10 сообщений из 10, страница 1 из 1
Поочередный вызов обработчика кнопки на клиента и на сервере
    #38182596
vasya-serega
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток,
подскажите, как можно реализовать сабж? Есть условная кнопка
Код: c#
1.
2.
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" 
        onclientclick="ClientFunc" Text="Button" />


Нужно чтобы после первого клика на кнопке выполнялся javasrcipt обработчик ClientFunc и не выполнялся Button1_Click, а после второго - уже выполнялся Button1_Click?
А то, кроме мысли как создать 2 кнопки и внутри ClientFunc прятать первую и отображать вторую, ничего в голову не приходит.
...
Рейтинг: 0 / 0
Поочередный вызов обработчика кнопки на клиента и на сервере
    #38182617
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasya-serega,

Ну и напишите, типа
Код: html
1.
2.
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" 
        onclientclick="ClientFunc(); return false;" Text="Button" />


А в самой функции ClientFunc() присвойте этому буттону onclick="return true" или submit(), или вообще пустую строчку, типа "".
...
Рейтинг: 0 / 0
Поочередный вызов обработчика кнопки на клиента и на сервере
    #38182657
vasya-serega
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSergeА в самой функции ClientFunc() присвойте этому буттону onclick="return true" или submit(), или вообще пустую строчку, типа "".
Что-то я не понял, как это должно выглядеть. Можно пример кода? А то функция Button1_Click вызывается у меня в любом случае
...
Рейтинг: 0 / 0
Поочередный вызов обработчика кнопки на клиента и на сервере
    #38182693
vasya-serega
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё правильно, после вызова функции
Код: c#
1.
2.
3.
4.
5.
6.
function ClientFunc() {
             ...
             return false;
         }

onclientclick="return ClientFunc()"


Обработчик на стороне сервера уже не выполняется. Что-то я не то делал. Осталось разобраться, как добавить какую-нибудь глобальную переменную, в зависимости от значения которой ф. ClientFunc() будет возвращать разные значения

Offtop: как тут свои уже отправленные на форуме сообщения редактировать?
...
Рейтинг: 0 / 0
Поочередный вызов обработчика кнопки на клиента и на сервере
    #38182719
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: html
1.
2.
3.
<script type="text/javascript">
   var myFlag = false;
</script>

хотя глобальные переменные некрасиво, я бы лучше этой кнопке атрибут добавил, wasClicked например назвал бы
...
Рейтинг: 0 / 0
Поочередный вызов обработчика кнопки на клиента и на сервере
    #38182723
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasya-serega,

Не в функции надо писать ретурн фальсе, а как я написал.
Иначе, надо писать onclientclick=" return ClientFunc(); "
ПС. Насчёт "как тут свои уже отправленные на форуме сообщения редактировать?". Очень просто - меня попросить. Лучше прямо на форуме, потому что почту гораздо реже смотрю, чем здесь присутствую. ;)
...
Рейтинг: 0 / 0
Поочередный вызов обработчика кнопки на клиента и на сервере
    #38182741
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasya-seregaОсталось разобраться, как добавить какую-нибудь глобальную переменную, в зависимости от значения которой ф. ClientFunc() будет возвращать разные значенияНапример:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
function ClientFunc() {
  arguments.callee.called++

  // Если функция вызвана более одного раза, то false
  return (arguments.callee.called < 2);
}

ClientFunc.called = 0;
...
Рейтинг: 0 / 0
Поочередный вызов обработчика кнопки на клиента и на сервере
    #38182792
vasya-serega
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA, спасибо.
Но всё равно сначала попробую разобраться, как кнопке пользовательский атрибут добавить и уже его значение обрабатывать в теле ClientFunc
...
Рейтинг: 0 / 0
Поочередный вызов обработчика кнопки на клиента и на сервере
    #38182804
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasya-seregaskyANA, спасибо.
Но всё равно сначала попробую разобраться, как кнопке пользовательский атрибут добавить и уже его значение обрабатывать в теле ClientFunc
Код: html
1.
2.
3.
Передайте указатель на кнопку в обработчик:
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" 
        onclientclick="ClientFunc(this, event); return false;" Text="Button" />

Код: javascript
1.
2.
3.
function ClientFunc(sender, e) {
  sender.clicked = true;  
}
...
Рейтинг: 0 / 0
Поочередный вызов обработчика кнопки на клиента и на сервере
    #38182854
vasya-serega
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну тогда придется писать
Код: javascript
1.
2.
3.
4.
5.
function ClientFunc(sender, e) {
   if (sender.clicked == undefined)
{...} 
}
 

Такая запись никаких подводных камней не имеет?
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Поочередный вызов обработчика кнопки на клиента и на сервере
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]