Adicionar classe css ao input criado com SQLFORM

19 views
Skip to first unread message

Alex Juchem

unread,
May 10, 2016, 9:53:31 PM5/10/16
to web2py-us...@googlegroups.com
Boa noite!

Precisando adicionar uma classe específica a um campo input do formulário, acabei encontrando essa sugestão: link
Usei e funcionou de boas, porém, achei que ficou meio 'comprido' as definições do meu field:

...
Field('name', 'string', label='Nome', widget = lambda field, value:
        SQLFORM.widgets.string.widget(field, value, _class='inputToSlug')),
...


Minha dúvida é, é realmente assim que se adiciona uma classe para um input específico?

Abraços.

--
<?= ((('1 cachorro' + '1 gato') == '2 mamíferos') ? 'Verdadeiro' : 'Falso');

Carlos Costa

unread,
May 11, 2016, 12:27:48 AM5/11/16
to web2py-us...@googlegroups.com

De certa forma é meio é real fazer essas coisas. Quer dizer, fazer coisa de view no model ou no controler.
Mas o web2py fornece helpers pra isso apesar de tudo.
Eu nunca usei dessa forma.
Sempre usei na core ou alterando o form no controler através da função elements.

--
Você recebeu essa mensagem por estar inscrito no grupo web2py-users-brazil.
Para enviar uma mensagem ao grupo, envie email a: web2py-us...@googlegroups.com
Para se desinscrever, envie email a: web2py-users-br...@googlegroups.com
Para mais opções, visite o site do grupo em: http://groups.google.com/group/web2py-users-brazil?hl=en
---
Você recebeu essa mensagem porque está inscrito no grupo "web2py-users-brazil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para web2py-users-br...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Alex Juchem

unread,
May 11, 2016, 7:47:56 AM5/11/16
to web2py-us...@googlegroups.com
@Carlos, tem algum exemplo?

Carlos Costa

unread,
May 11, 2016, 9:46:34 AM5/11/16
to web2py-us...@googlegroups.com
No controler, após criar o form:

form.elements('#tabela_campo')[0]['_class'] += ' outra-classe'

Assim você está manipulando o DOM só que antes de virar HTML na página.
Note que é importante ter um espaço no começo para pode concatenar corretamente.

Na view, usando jQuery:

{{block page_js}}
<script>
  $(document).ready(function(){
     $("#tabela_campo").addClass('outra-classe');
 });
</script>
{{end page_js}}


Carlos J. Costa
Cientista da Computação  | BS Computer Science
Esp. Gestão em Telecom   |
PgC Telecom Mangement
<º))><

Alex Juchem

unread,
May 11, 2016, 9:49:16 AM5/11/16
to web2py-us...@googlegroups.com
Ahh entendi, massa :)

Vlw.
Reply all
Reply to author
Forward
0 new messages