Прикрепление событий javascript к виджетам формы

У меня есть форма с выпадающим меню, и я хочу выполнять действие javascript всякий раз, когда пользователь меняет выбор. Я предполагаю, что позже можно найти ввод, используя javascript, и прикрепить к нему событие; но кажется, что было бы проще, если бы был какой-то атрибут или параметр, который можно было бы определить в form->configure(): например.

$this->widgetSchema['menu'] = new sfWidgetFormChoice(array(
  ...
  'onclick' => javascript function
));

очевидно, это не работает, и, вероятно, это не будет метод onclick, но мой вопрос: как вы прикрепляете событие javascript к вводу/виджету?


person LTME    schedule 18.05.2010    source источник


Ответы (2)


Каждый элемент, создаваемый объектом формы, должен иметь автоматически сгенерированный идентификатор, который обычно имеет форму:

имя_формы_имя_поля

Итак, как я это делаю, используя jQuery в качестве примера:

$('#form_name_field_name').change(function(){
  alert('do some cool stuff with '+this.val());
});
person johnwards    schedule 18.05.2010

Вы можете увидеть это: Как использовать javascript в формах

person Elorfin    schedule 27.07.2010