Home > Foro de Struts >

Debates de Struts > Validar y llamar a action desde javascript

Validar y llamar a action desde javascript

Escrito por Alejandra el 21/11/2006

Hola! Mi problema es el siguiente: valido los campos de mi formulario desde javascript, pero una vez validados, cuando envío el formulario, no consigo que los campos del formulario se copien en el Action Form correspondiente.

***struts-config. Xml***

<form-bean name="pacienteForm"
           type="hospital. PacienteForm"/>

<action path="/AddPaciente"
            type="hospital. AddPacienteAction"
            name="pacienteForm"
            scope="request"
            validate="false">
         <forward name="success" path="/pages/indice. Jsp"/>
</action>


***jsp***:

<html:form action="/AddPaciente. Do">

...

   <input type="button" value="Crear" onClick="valida_formulario()">

</html:form>


***javascript****

Function valida_formulario(){
 if (valida_formulario2==0){
    //La validación ha tenido éxito
    location="AddPaciente. Do";
 } 
}

Se ejecuta la action "addPaciente" pero no copia los campos del formulario en el ActionForm "pacienteForm".

¿Qué debo hacer? Me interesa validar en javascript y no en el propio action form. Muchas gracias!


Citar  |  
Ver mensaje      

Hugo Hidalgo
Estado de México, Mé...
Escrito por Hugo Hidalgo el 21/11/2006

Hola, el problema que puedo persivir es que cuando termina la función JavaScript NO estas enviando el form, el cual debes escribir de la siguiente manera:

forma.action.submit();

Para que puedas lograr enviar el formulario a tu action, por lo demas todo esta correcto.

No olvides visitar el sitio de Neos software labs, el cual tiene articulos muy interesantes para programadores Java

http://www.geocities.com/neos_software/

Saludos


Citar  |  
Ver mensaje     

Escrito por Alejandra el 21/11/2006

Hola Hugo! ¿Te refieres a quitar "location" y sustituirlo por esto?:

document.fvalida.action="/AddPaciente. Do";
document.fvalida.submit();

Lo probé de todas las maneras, y obtengo el error:

Estado HTTP 404 - /AddPaciente. Do El recurso requerido (/AddPaciente. Do) no está disponible.

¿? No sé qué puede ocurrir!

Pensé en escribir el formulario usando struts-html. Tld, pero entonces no hay manera de darle un nombre al formulario, es decir:

<html:form action="/AddPaciente. Do"> no acepta un atributo name ni id, y entonces no es podible realizar la validación en javascript.



Citar  |  
Ver mensaje     

Hugo Hidalgo
Estado de México, Mé...
Escrito por Hugo Hidalgo el 21/11/2006

Hola, se me hace muy raro lo que dices, ya que yo siempre estoy validando los formularios con JavaScript y nunca he tenido el problema de no poder recibir los datos del for en el action.

El error se debe a otra cosa (HTTP404), me suena a que ni siquiera puedes llegar al action verdad? , pense que el problema era solo que los valores del form no los podias ver en el action, pero creo que esto es otro problema o no es asi?. Si estoy en lo cierto primero soluciona el problema de llegada al action, esto puede ser por mal mapeo en el struts-config. Xml.

Saludos


Citar  |  
Ver mensaje     

Escrito por Alejandra el 21/11/2006

Muchas gracias, ya lo solucioné.

Hay q declarar el formulario de la forma:

<html:form action="/AddPaciente. Do">

En lugar de:

<form name="fvalida" action="/AddPaciente. Do">

Y para validar referirse a los elementos del formulario como:

document.pacienteForm.idPaciente. Value

Un saludo!


Citar  |  
Ver mensaje     

Hugo Hidalgo
Estado de México, Mé...
Escrito por Hugo Hidalgo el 22/11/2006

OK, solo recuerda que las validaciones JavaScript las puedesrealizartambien con el soporte del validation. Xml, que trae Struts ok?

Tambien te recuerdo que

<form name="fvalida" action="/AddPaciente. Do">

Esta etiqueta tambien debe jalar, lo unico que te recomiendo es que quites la parte de name="fvalida" osea solo quedaria así

<form  action="/AddPaciente. Do">

Y tambien debe de jalar, pruebalo así y me dices (aunque ya hallas solucionado el problema ok?)

Un saludo desde México


Citar  |  
Ver mensaje     

Escrito por Alejandra el 22/11/2006

Obtengo el siguiente error:

'document. PacienteForm' es nulo o no es un objeto.

Es un misterio! Se ve q al declarar el formulario de la forma tradicional en html: <form action="/AddPaciente. Do"> no mapea con el archivo struts-config. Xml y no reconoce el action form 'pacienteForm'...? No tiene mucho sentido, pero a mí m pasa así.

Gracias otra vez! Hasta otra!


Citar  |  
Ver mensaje     

Hugo Hidalgo
Estado de México, Mé...
Escrito por Hugo Hidalgo el 22/11/2006

Hola, bueno de acuerdo contigo, hasta la proxima

No olvides visitar Neos softeware Labs

http://geocities. Com/neos_software/

Saludos


Citar  |  
Ver mensaje     

Escrito por Alexis Perez el 09/01/2008

Debe hacer lo siguiente en el jsp:
<form action="/iic/IICAction" method="POST" name="IIC" target="ctrl">

<select name="tpoPlanilla" onChange="cambioTpoPlanilla(this)">
                      <option value="maestro">Maestro Mensual</option>
                      <option value="pcp">PCP</option>
                     </select></Td>

<form>


Luego en el javascript, para validar que vengan datos, ya sea de un combobox (en mi caso) o en un textBox, debes hacer lo siguiente:

Function cambioTpoPlanilla(formulario) {
            alert(document. GetElementById("tpoPlanilla"). Value);
            if (document. GetElementById("tpoPlanilla"). Value == "pcp" ) {
                document. GetElementById("tpoCodigoEstado"). Disabled = true;
                document. GetElementById("txtON"). Disabled = true;
            } else {
                document. GetElementById("tpoCodigoEstado"). Disabled = false;
                document. GetElementById("txtON"). Disabled = false;
            }
        }


Donde:

Document. GetElementById("tpoPlanilla"). Value == "pcp" recoge el valor del select tpoPlanilla, ahi tambien puede colocar el nombre del textbox....


Eso sería!


ESPERO QUE TE SIRVA...


Saludos desde chile


Citar  |  
Ver mensaje     

Ali
Sevilla, España
Escrito por Ali el 12 de Junio
hola, haber si alguien me puede ayudar porque ya no se ni que probar, tengo una pagina inicial inde. Jsp donde tengo una imagen de un botón que al hacer click sobre el se va a una página llamada carta. Jsp y lo que quiero es que al hacer click entre en un action para que se conecte con la base de datos y haga la consulta para obtener la carta y asi poder mostrarla en la página de carta. Jsp.

Lo que es la conexion y la consulta ya lo tengo pero no se como puedo hacer la llamada al action desde la imagen.
En el struts-config. Xml tengo <action path="/cargar" name="cart" type="action. LoginAction" validate="false" parameter="accion">
<forward name="cargar" path="/carta. Jsp" />

quisiera saber como puedo poner en una imagen o en otro sitio que cuando pulse sobre la imagen se vaya al action para hacer la consulta.

Por favor ayudarme! Estoy desesperada!


Citar  |  
Ver mensaje     


Responder


Quiero recibir alertas por email cuando haya mensajes nuevos en este debate

Al escribir en el debate:
  1. Repasa la ortografía y no escribas en formato SMS.
  2. Lee el texto dos veces antes de publicar.
  3. No escribas todo en mayúsculas o negritas.
 
Páginas internacionales: España  |  Italia  |  Francia  |  México  |  Alemania  |  Reino Unido  |  Argentina  |  Chile  |  Colombia  |  USA

Búsquedas frecuentes: chats italianos brackets plus de transporte birads 0 fondos para fotos de comunion

Emagister cumple la Ley Orgánica 15/1999 de 13 de diciembre, de Protección de datos de Carácter Personal, y posee el código de inscripción nº 2002010053 del Registro General de la Agencia de Protección de Datos. Copyright © 1999/2000 - Grupo Intercom - Todos los derechos