Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > как узнать, какая кнопка была нажата?


Автор: xamelon 19.7.2011, 01:20
Вообщем есть несколько кнопок, заранее их количество я узнать не могу. У этих кнопок у каждой уникальное имя. Как мне узнать имя кнопки, которая была нажата?

Автор: s0lman 19.7.2011, 02:11
Если кнопка типа Submit, то по атрибуту name в $_REQUEST

Автор: Guedda 19.7.2011, 09:12
А если иначе, то это вопрос к JavaScript

Автор: xamelon 19.7.2011, 09:56
дело в том, что я заранее не знаю имя кнопки

Автор: NFL 19.7.2011, 10:14
если есть возможность каждой кнопке повесить функцию - обработчик, то как то так:
Код

function but_clicked(obj)
var buttons = document.getElementsByTagName("button");
for (i=0; i<buttons.length; i++) {
  if (obj.id==buttons[i].id) {
    alert ('button '+obj.id+' pressed');
    break;
  }
}
<input type="button" onclick="but_clicked(this);">


Если возможности навесить обработчик на кнопку нет напрямую - то в помощь jQuery, забиндить динамически событие на онклик, насколько я помню, там возможно)

Автор: CruorVult 19.7.2011, 10:19
Цитата(xamelon @  19.7.2011,  09:56 Найти цитируемый пост)
дело в том, что я заранее не знаю имя кнопки


Вас спаршиваю какой тип кнопки а не имя? submit или button?

если submit, то после отправки формы на сервер там можно узнать ее из реквеста($_REQUEST)

если button - то тут нужно жс юзать

Код

<input type="button" name="knopka" onclick="alert(this.name)">

Автор: xamelon 19.7.2011, 17:57
Спасибо всем. Воспользовался вариантом от CruorVult. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)