Webform conditional

Events happening in the community are now at Drupal community events on www.drupal.org.
cristianwds's picture

Hola a todos, necesito de vuestra ayuda!!

Drupal Pressflow 6.16

Estoy usando el modulo webform para crear un formulario, dentro del cual aparte de otros fields tengo 3 option select, que cada uno al desplegarse me muestra un listado de colegios secundarios, terciarios y universidades respectivamente.

Necesito que al elegir un solo item de un solo option select, los otros dos se anulen, o se oculten.

Con el modulo webform conditional (que supuestamente es para eso) me fue imposible lograrlo, no se si porque no funciona bien, o porque lo estoy usando mal.

Hace mas de un mes que estoy tratando de terminar este webform, pero no consigo dar con el modulo correcto.

Tampoco es claro como acceder al template del webform-form.tpl.php, como para agregarle un parche a mano y solucionarlo.

Alguna idea?

Gracias!

Comments

webform-form.tpl.php

ceaucari's picture

en el modulo en la carpeta templates puedes encontrar el archivo webform-form.tpl.php, lo puedes copiar de ahi y pegarlo en la carpeta de tu tema para modificarlo

Gracias por responder

cristianwds's picture

Si eso ya lo hice, webform-form-666.tpl.php, pero no se en que parte agregar el para que los 2 select se oculten al seleccionar al menos uno.

Arsan

No entiendo.

nucklear's picture

Y donde se supone que debe "anularse", cuando estas editando el webform ?
Por que no tendría lógica hacerlo si estas rellenando el formulario por una cuestión de usabilidad... (Si es así, lo podes hacer con jquery a mano)

IT-Media desarrollos

webform condicional

filoquin's picture

Para usar el web form condicional tenes que dividir el form en pasos.
Entonces si podes hacer que en el segundo paso desaparezcan los selecs

Si querés hacerlo todo en un solo paso lo más logico es usar jquery.

Filoquin

el tema es que no se

cristianwds's picture

como llegar a editar ese formulario que estoy armando a traves del webform.

o sea yo armo un formulario con select option, con textfields, etc etc usando la interfase de webform y cuando voy al tpl.php de ese webform veo algo completamente diferente, no estan ahi esos datos, se entiende lo que quiero decir?

entonces como se yo adonde ponerle jquery?

Soy diseñador, no programador php vale la aclaracion, por eso me cuesta bastante mas...

Gracias!

Arsan

Aun sigo sin entender

nucklear's picture

Aun sigo sin entender exactamente lo que querés hacer. No vas a encontrar nada en los tpl relacionado a lo que creo queres hacer, ya que webform usa los hooks propios de Drupal para armar los campos.

Si explicaras un poco mejor que intentas hacer quizas se te pueda ayudar mejor.

IT-Media desarrollos

OK tratare de explicarte

cristianwds's picture

Tengo un webform, hay un select del tipo listbox con 3 items, (secundario, terciario y universitario) si elijo uno de ellos (secundario) me deberia mostrar otro listbox con todos los secundarios para que el usuario elija uno.

El modulo webform-conditional, te permite segun lo que dice el readme:

Webform Conditional


This module adds the ability to hide/show components in the webform based on another fields value on the same page.
This modules allows showing and hiding of Webform components based on another components current value. It requires Webform 6.x-3.x.

If differs from the conditional fields currently in Webforms because it allows dynamically showing and hiding components on the same page. In core Webforms a field can only be conditional on field on a previous page.
On the component edit page the available current page select components are added to the "Component" listbox under "Conditional Rules"
The current functions are:
Showing and hiding components based on a select field.
Fieldset can be hidden.
Multiple values can be used to show component. For instance if a select has the values 1 to 10 then certain components could be shown when 1 to 5 are selected and other components could be shown if 6 to 10 are selected.


Cuando se instala el webform-conditional, en el modo edicion del componente select que quieras ocultar, te muestra una opcion que obviamente se llama Conditional rules (este item te lo muestra en el segundo select option, ya que va a depender de un select anterior, que te va a permitir mostrar ese select oculto), si lo desplegas te permite elegir el select anterior y los valores, que va a permitir que se muestre el select indicado.

Como esto no me funcionó, lo que intento hacer es (desactivando el modulo webform-conditional) poner los 3 select visibles y que cuando el usuario elije uno de ellos los otros dos desaparezcan o se anulen o se grisen como para que no se pueda elegir mas de uno.

Gracias

Arsan

jquery seria la opcion mas rapida

otsuarez's picture

hola cristian, cuando eliges un item de un select, lo haces del lado del cliente, en el browser, si quieres hacer algo, jquery (javascript por detras) es la opcion, pues corre del lado del cliente, en el browser.
puedes armar tu template (como ya se comento) y utilizar un id en particular para ese select.
luego, mira como adicionar javascript a drupal (en el theme usando el archivo script.js, o directamente creando un .js e incluyendolo en el page.tpl.php (mugre), hay varias formas).
en el jquery, utilizas la propiedad onchange y ahi generas lo que quieras (habilitar o deshabilitar otros selects, etc, etc). se entiende?

Nadie piensa en la

nucklear's picture

Nadie piensa en la usabilidad? Suponiendo que es lo que me imagino
Si me dan a llenar un formulario y por error elijo una opción que no quería seleccionar? que pasa.... si ahora esta deshabilitado... ¬¬

IT-Media desarrollos

correcto

cristianwds's picture

para eso quiero usar el modulo webform_conditional asi en ese caso tengo un select que me permite mostrar cualquiera de los 3.

Arsan

es por la usabilidad

otsuarez's picture

la idea es habilitar las opciones que tienen sentido en base a las elecciones previas.
si seleccionas el pais, en el select de provincias estaria bueno mostrar solo las relevantes a ese pais, es un ejemplo de como las opciones que hacen, son las que definen los campos siguientes.

christian, algo que me falto, esa funcionalidad para encontrarla en un modulo, seria codigo que se ejecute del lado del servidor, o sea, cuando haces un submit del form, pero creo que no seria lo que estas buscando.

exacto

cristianwds's picture

esa fue mi primera opcion, Hierarchical_select...

Provincia

Tipo de Institucion
Secundarios
Terciarios
Universidades

en esta instancia ya segun la provincia elegida me mostraba solo el tipo de institucion que existe.

pero dentro del Webform esto no se puede hacer, por eso estoy tratando de buscar una opcion lo mas sencilla posible para poder entregar el trabajo dignamente.

Por lo pronto voy a recurrir a la buena voluntad del usuario y voy a poner los 3 select visibles de Secundario, Terciario y Universidad y que elija a la que concurre.

Gracias!

Arsan

Me van a perdonar pero aun

nucklear's picture

Me van a perdonar pero aun sigo sin entender que se quiere lograr.

Un select jerárquico es como menciona @otsuarez, pero @cristianwds creo que menciona otra cosa.
Me pareció entender de que por ejemplo tenes tres selects :

A -itemB
-itemC

B -item1
-item2

C -item1
-item2

Si elegis de A el itemB entonces deshabilitara el select C

Si estoy en lo correcto el único camino es usar Jquery.

Ahora si no es asi como lo explico, entonces ya me rindo... :P

IT-Media desarrollos

Me van a perdonar pero aun

nucklear's picture

Me van a perdonar pero aun sigo sin entender que se quiere lograr.

Un select jerárquico es como menciona @otsuarez, pero @cristianwds creo que menciona otra cosa.
Me pareció entender de que por ejemplo tenes tres selects :

A -itemB
-itemC

B -item1
-item2

C -item1
-item2

Si elegis de A el itemB entonces deshabilitara el select C

Si estoy en lo correcto el único camino es usar Jquery.

Ahora si no es asi como lo explico, entonces ya me rindo... :P

IT-Media desarrollos

Gracias a todos!!

cristianwds's picture

Ya lo resolví!!!!

el modulo funciona correctamente!!

el problema era que antes de poner los valores tenia que seleccionar texto plano, sino me lo tomaba asi

1

.

Pequeños desconocimientos que te pueden arruinar el momento...

Gracias TOTALES

Arsan

Que bueno, pero creo que no

nucklear's picture

Que bueno, pero creo que no voy a poder dormir dado que no entendí que querías lograr. Si me lo pudieras explicar por favor.

Saludos.

IT-Media desarrollos

Fijate aca

cristianwds's picture

http://www.isic.com.ar/isic

en el select Tipo de Institucion, y elegi una de las tres.

Saludos
Gracias!

Arsan

Como lo has hecho?

zuborr's picture

hola, estoy intentando realizar lo mismo pero no consigo que al seleccionar una opcion me muestre otro listado.

¿podrias explicarme los pasos?

Muchas gracias.

Como ocultar los otros elementos.

luis_san's picture

Cristian, la oculatación de otros elementos los puedes hacer por jquery.

Agregar un archivo js en el .info de tu theme.
Luego en el archivo js puedes condicionar que si seleccionas un valor de ese combo haga un .hide() o .show() de los input que quieras.

Espero que te sea de ayuda.

saludos
luis
http://www.kadabrait.com

Gracias!

cristianwds's picture

luis_san, pero lo pude hacer directamente con el modulo webform-conditional, solo que por un descuido no podia encontrarle la vuelta, solo había que ingresar el valor de la condicion como texto plano.

entonces algo que tenia que interpretar como: 2

lo interpretaba como: <p>2</p>

Gracias!

Arsan

Webform conditional

zuborr's picture

Gracias por la rapida contestacion, pero por lo que he leido a cristianwds parece que se puede hacer perfectamente con este modulo.

sinceramente no ando muy fino en programacion.

Gracias!

OK

luis_san's picture

OK zuborr...

Lee el archivo README.TXT que viene con ese módulo, generalmente dice como hacerlo funcionar.
Además pudes buscar un video explicativo de los que abundan en Drupal, podrías probar googlear esto: nombre del modulo + screencast

saludos!

Solucionado

zuborr's picture

he encontrado un video que lo explica muy bien, es en ingles pero mas vale una imagen que mil palabras.

aquí os lo dejo por si alguien lo necesita como yo, http://friendlydrupal.com/screencasts/custom-contact-form-conditional-fi...

Gracias!

Eureka!

luis_san's picture

gracias por el video zuborr!

Argentina

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: