![]() |
problema con formularios Hola! bueno os voy a explicar un problemilla que tengo y que no soy capaz de solucionar, seguro que es una bobada, pero no veo el fallo Tengo dos enlaces que son ListarParticulares y ListarEmpresas, los dos tienen el mismo formulario, pero dependiendo de cual pinche pues te muestra una cosa. Si lo hago solo con uno de los dos me funciona pero si pongo los dos, me muestra en los dos lo mismo en mi caso el listado de particulares Mi código es este (uso struts con java) <html:form action="consultarC.do" styleId="forms"> <html:hidden property="tipo" value="particular"/> <a href="javascript:enviar();" class="enlaceAzul">Listar particulares</a> </html:form> <html:form action="consultarC.do" styleId="forms"> <html:hidden property="tipo" value="empresa"/> <a href="javascript:enviar();" class="enlaceAzul">Listar empresas</a> </html:form> Cambio el value, pero siempre que le doy al enlace y miro en los log, el value siempre coge el de particular, por eso siempre me muestra los mismo. el struts.config está bien, porque al probarlo por separado funciona perfecto Alguan idea?? Muchas gracias! |
Re: problema con formularios Es lógico que coja el primero cuando hay más de uno iguales. Prueba a ponerles identificadores y que sean diferentes y luego desde el método enviar() haces un document.NOMBREFORMULARIO.submit(); Tal vez debas discriminar en el método cual de los dos ha sido pulsado, pasando por parámetro tipo enviar(particular)/enviar(empresa) y luego con un simple if lo tendrías hecho. |
Re: problema con formularios Hola asile. Para empezar creo que seria bueno comentar como funcionan los formularios en struts y como funcionan los action. Cuando trabajas con Web applications Struts se crea un archivo llamado struts-config.xml en este configuras que form pertenece a que action por ejemplo en tu caso. Código PHP: Ya en un jsp cuando invoques a tu formulario dejas tu código idéntico pero sin el .do <html:form action="/consultarC" styleId="forms"> <html:hidden property="tipo" value="particular"/> <a href="javascript:enviar();" class="enlaceAzul">Listar particulares</a> </html:form> <html:form action="/consultarC" styleId="forms"> <html:hidden property="tipo" value="empresa"/> <a href="javascript:enviar();" class="enlaceAzul">Listar empresas</a> </html:form> Y en tu clase ActionFormulario utiliza un DispatchAtion con este tipo de action puedes decidir que método se utilizara particular o empresa. Es algo complejo pero espero averte ayudado un poco. En Internet busca acerca del DispatchAction seguro que solucionas tu problema. |
Re: problema con formularios Mira a ver el HTML que te generan los dos formularios por separado y el que te generan conjunto. Por otro lado... ¿que hace la funcion javascrip enviar()? ¿Puede ser que modifique el parametro tipo de alguna forma? S! |
Re: problema con formularios ya lo arreglé cambiando el Id del formulario, porque al tener el mismo es por lo que daba el error. En cuanto a la utilización de los Action y struts-config ya los sabía usar, pero gracias de todas formas. En cuanto al DispatchAction ... también lo he usado en un formulario para dar alta a clientes y pongo un botón comprobar login (y el de enviar). No me funciona como esperaba, ya que al darle a comprobar login me sale toda la validación del formulario en vez de comprobarme si el login existe o no. Si tienes alguna idea para esto ... también te la agradezco Muchas gracias a todos por vuestras ideas! |
Re: problema con formularios ¿Cómo trabaja un DispatchAction? Te pondré un ejemplo suponte que tengo una aplicación en la que necesito usar un mismo formulario pero cuando presiono un botón debe hacer un proceso y cuando presiono el otro debe hacer otro proceso. Si esto te ocurre en un mismo formulario intenta algo así. Código PHP: Código PHP: Código PHP: Código PHP: |
Re: problema con formularios Si más o menos entendía lo que hace. Busqué en internet porque en mi formulario tenía dos botones (uno para enviar el formulario de alta y el otro para comprobar si el login esta disponible) y lo uso así (ten en cuenta que uso struts) Esto va en el Action Código PHP: El problema lo tengo en que para entrar en el action, primero pasa por el Form y realiza la comprobación de errores de los campos, por lo tanto si no he rellenado más que el campo del alias y le doy a comprobar alias, entra en el form y me pone los errores porque no están todos los datos completados. Si tengo todos los campos obligatorios rellenos, me lo hace perfectamente, si le doy al comprobar comprueba y si le doy a añadir añade Pero no sé como solucionarlo sin tener que cambiar la comprobación de errores al Action |
Respuesta: problema con formularios volviendo al problema del principio. La solución era poner diferentes ids al formulario para que no hubiera problema, pero si se da el caso de que no sabes cuantos formularios vas a tener, ya que cada usuario puede tener muchos (productos por ejemplo para enviar al carro) cómo se podría arreglar ese problema del formulario?? es que no sé cómo solucionar ese caso Muchas gracias por vuestra ayuda! |
| La zona horaria es GMT -6. Ahora son las 15:36. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.