2011-09-30 16 views
6

Quiero agregar la clase css allowMultiSubmit a un botón zrc.form para evitar la alerta de envío múltiple. El botón se define así:Cómo agregar una clase css a un botón z3c.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) 

El resultado que quiero lograr es la siguiente:

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

Hay debe ser una manera fácil, pero no puedo encontrar la manera.

Respuesta

7

Puede reemplazar el método updateActions de la clase z3c.form y utilizar el método addClass añadir una clase CSS a su botón:

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) 
+0

Muchas gracias. Funcionó como un encanto. Genial. –

Cuestiones relacionadas