Есть форма. Есть плагин LaddaButtons
lab.hakim.se/ladda. Есть javascript-код:
// Form submit
$(document).on('beforeValidate', 'form', function (event, messages, deferreds) {
var btn = $(this).find('[type=submit]');
btn.ladda();
btn.ladda('start');
}).on('afterValidate', 'form', function (event, messages, errorAttributes) {
if (errorAttributes.length) {
var btn = $(this).find('[type=submit]');
btn.ladda('stop');
alert('Сначала исправьте ошибки формы!');
}
}).on('beforeSubmit', 'form', function (event) {
var btn = $(this).find('[type=submit]');
btn.ladda('start');
});
Ladda.bind('.ladda-button');
Для тех кто не хочет переходить по ссылке, объясняю как это работает: при нажатии на submit формы, кнопка submit дезактивируется и внутри нее крутится колесико.
Все было нормально, но я не учел вот что: когда в форме несколько сабмитов, то все они анимируются таким образом, что как бы не вполне корректно. Корректно было бы дезактивировать все сабмиты, но колесико прикрутить только на тот сабмит, который был нажат.
Как в
yii.activeForm.js
при событии
beforeValidate
получить кнопку, которая была нажата?