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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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!!
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
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
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?
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.
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!
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
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
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
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!
gracias por el video zuborr!