Foros del Web » Programando para Internet » Python »

Javascripy y forms django

Estas en el tema de Javascripy y forms django en el foro de Python en Foros del Web. Hola! Otra vez por aqui. tengo una duda A VER QUIEN puede ayudarme.hice un formulario en django que extiende desde el Forms.ModelForm. pero y en ...
  #1 (permalink)  
Antiguo 01/08/2011, 13:39
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 2 meses
Puntos: 16
Javascripy y forms django

Hola! Otra vez por aqui. tengo una duda A VER QUIEN puede ayudarme.hice un formulario en django que extiende desde el Forms.ModelForm. pero y en la "template", por cuestiones de diseño accedo a los campos uno por uno "{{ form.campo.label}}{{ form.campo }}. Hasta ahora todo va bien. El detalle es el siguiente. uno de los campos es un campo de seleccion "{{ form.seleccion }}" y yo deseo, que según lo que el usuario seleccione. se muestren las otras opciones del formulario. o se queden ocultas. Lo de ocultarlas no tuve problema pues lo hice con Css. (un class="oculto" a el TR de la tabla) El detalle esta en que me gustaria ponerle un javascript al campo de selección que, según su valor me quite el oculto a la TR de los otros campos. Tengo la función en javascript y todo hecho, pero no se como ponerle el evento "onclick()" al campo {{ form.seleccion }}. alguien que me pueda decir la manera????


se que uno puede definir una clase tipo el campo que se este utilizando, pero no me parece que tenga que definiruna clase para una función javascript que solo usaré en este form..... debe haber otra manera, supongo. Muchas gracias por su ayuda.

pd: en el titulo iba javascript. no me di cuenta que habia escrito mal. jeje.

Última edición por rjulio21; 01/08/2011 a las 13:52
  #2 (permalink)  
Antiguo 01/08/2011, 14:32
 
Fecha de Ingreso: agosto-2008
Mensajes: 198
Antigüedad: 15 años, 9 meses
Puntos: 27
Respuesta: Javascripy y forms django

Según la documentación de Django el ID de cada campo, por defecto, debiería ser "id_<field-name>", obviamente sin las comillas y sin <>. Con eso es fácil. Cuando se haya cargado la paǵina (windows.onload) o esté listo el DOM puedes asociarlo a ese campo por el ID. No recuerdo exactamente como lo haces con Javascript puro (sin frameworks), pero creo que algo como:

Código:
document.getElementById('id_<field-name>').onclick = function() {...}
Saludos.
  #3 (permalink)  
Antiguo 01/08/2011, 14:40
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 2 meses
Puntos: 16
Respuesta: Javascripy y forms django

si refreegrata. asi tambien se puede. sin embargo, estuve probando. y consegui la manera de hacerlo desde el form de django.
seria asi.
Código Python:
Ver original
  1. def __init__(self, *args, **kwargs):
  2.              self.fields['campo'].widget.attrs = {'onclick':"mostrarTr(this)"}
y ya. es tan sencillo. como suponia. jejejejjee. solo que django cuesta un poco conseguir documentación. Gracias igual.

Etiquetas: django, forms
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:41.