Как добавить класс css к кнопке z3c.form - PullRequest
7 голосов
/ 30 сентября 2011

Я хочу добавить класс css allowMultiSubmit к кнопке zrc.form, чтобы избежать многократного оповещения. Кнопка определяется следующим образом:

from z3c.form import form
from plone.app.z3cform.layout import wrap_form

class MyForm(form.Form):    
    ...
    @button.buttonAndHandler(_(u"Search"))
    def handleSearch(self, action): 
        ...

MyWrappedFormView = wrap_form(MyForm)

Результат, которого я хочу достичь, таков:

<input id="form-buttons-search"
       class="submit-widget button-field allowMultiSubmit"
       type="submit"
       value="Search"
       name="form.buttons.search">

Там должен быть простым способом, но я не могу понять, как.

1 Ответ

9 голосов
/ 30 сентября 2011

Вы можете переопределить метод updateActions вашего класса z3c.form и использовать метод addClass для добавления класса css к вашей кнопке:

from z3c.form import form
from plone.app.z3cform.layout import wrap_form

class MyForm(form.Form):    
    ...
    @button.buttonAndHandler(_(u"Search"))
    def handleSearch(self, action): 
        ...

    def updateActions(self):
        super(MyForm, self).updateActions()
        self.actions['submit'].addClass("allowMultiSubmit")

MyWrappedFormView = wrap_form(MyForm)
...