Foros del Web » Programando para Internet » Javascript »

Problemas con 2 eventos submit y onsubmit de validacion en form

Estas en el tema de Problemas con 2 eventos submit y onsubmit de validacion en form en el foro de Javascript en Foros del Web. Buenas necesito ayuda por favor con lo siguiente: Tengo 2 eventos al hacer submit del form no me hace la validación y el submit al ...
  #1 (permalink)  
Antiguo 23/10/2012, 16:30
 
Fecha de Ingreso: octubre-2012
Ubicación: Asuncion
Mensajes: 7
Antigüedad: 12 años, 1 mes
Puntos: 0
Pregunta Problemas con 2 eventos submit y onsubmit de validacion en form

Buenas necesito ayuda por favor con lo siguiente:

Tengo 2 eventos al hacer submit del form no me hace la validación y el submit al mismo tiempo, muestra la 1ra alerta pero luego ya da el submit. que también maneja otro evento.
Si me pueden dar una opción por favor. Los enlaces de conexion js del head lo tengo en otro html, estoy trabajando con clases.
Aqui está el codigo:

form.html
Código:
<form name ="client" id="client" method="POST" action="index.php" onsubmit="validar_formulario()">
    <input type="hidden" name="id" id="id" value="<?php print $view->client->getId() ?>">
    <div>
        <label>Nombre</label>
        <input type="text" name="nombre" id="nombre" value = "<?php print $view->client->getNombre() ?>">
        <strong style="color:red">(*)</strong>
    </div>
    <div>
        <label>Apellido</label>
        <input type="text" name="apellido" id="apellido"value = "<?php print $view->client->getApellido() ?>">
        <strong style="color:red">(*)</strong>
    </div>
        <div>
        <label>RUC o CI</label>
        <input type="text" name="RUC" id="RUC" value = "<?php print $view->client->getRUC() ?>">
        <strong style="color:red">(*)</strong>
    </div>
        <div>
        <label>Teléfono</label>
        <input type="text" name="telefono" id="telefono" value = "<?php print $view->client->getTel() ?>">
    </div>   
   
    <div class="buttonsBar">
        
        <input id="cancel" type="button" value ="Cancelar" />
        <input id="submit" type="submit" name="submit" value ="Guardar" />
    </div>
</form>
validar.js
Código:
function validar_formulario(){


    if (document.client.nombre.value.length==0){
        alert("Debe ingresar su nombre")
        document.client.nombre.focus()
        return false;
    }
        if (document.client.apellido.value.length==0){
        alert("Debe ingresar su nombre")
        document.client.apellido.focus()
        return false;
    }
        if (document.client.RUC.value.length==0){
        alert("Debe ingresar su nombre")
        document.client.RUC.focus()
        return false;
    }
    return true;
}
funciones.js

Código:
$(document).ready(function(){ 
 $('#client').live('submit',function(){       
        var params={};
              
        params.action='saveClient';
        params.id=$('#id').val();
        params.nombre=$('#nombre').val();
        params.apellido=$('#apellido').val();
        params.fecha=$('#fecha').val();
        params.direccion=$('#direccion').val();
	params.email=$('#email').val();
        params.RUC=$('#RUC').val();
	params.telefono=$('#telefono').val();
        $.post('index.php',params,function(){
            $('#block').hide();
            $('#popupbox').hide();
            $('#content').load('index.php',{action:"refreshGrid"});
        })
        return false;
    })
})

NS={};
  #2 (permalink)  
Antiguo 23/10/2012, 16:37
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 5 meses
Puntos: 220
Respuesta: Problemas con 2 eventos submit y onsubmit de validacion en form

diegomorales

Primero veo que estas mezclando un framework javascript (jQuery) y luego puro javascript seria bueno que te decidas cual vas a usar.

Primero trata de usar por favor colecciones

document.forms["myform"].elements["myelement"].value

Segundo si ya tienes en el evento onsubmit la parte de validar no seria ahi mismo que realizes el proceso del ajax ya que no vas a recargar la pagina y debes poner siempre return false o return 0.

Código Javascript:
Ver original
  1. function validar_formulario(){
  2.     if (document.client.nombre.value.length==0){
  3.         alert("Debe ingresar su nombre")
  4.         document.client.nombre.focus()
  5.         return false;
  6.     }
  7.         if (document.client.apellido.value.length==0){
  8.         alert("Debe ingresar su nombre")
  9.         document.client.apellido.focus()
  10.         return false;
  11.     }
  12.         if (document.client.RUC.value.length==0){
  13.         alert("Debe ingresar su nombre")
  14.         document.client.RUC.focus()
  15.         return false;
  16.     }
  17.     var params={};  
  18.     params.action='saveClient';
  19.     params.id=$('#id').val();
  20.     params.nombre=$('#nombre').val();
  21.     params.apellido=$('#apellido').val();
  22.     params.fecha=$('#fecha').val();
  23.     params.direccion=$('#direccion').val();
  24.     params.email=$('#email').val();
  25.     params.RUC=$('#RUC').val();
  26.     params.telefono=$('#telefono').val();
  27.     $.post('index.php',params,function(){
  28.             $('#block').hide();
  29.             $('#popupbox').hide();
  30.             $('#content').load('index.php',{action:"refreshGrid"});
  31.     });
  32.     return false;
  33. }



Tercero el evento live ya se encuentra deprecado por favor cambialo por delegate o on en todo caso este punto ya no seria aplicado si realizes lo que te comente en el punto dos.

Saludos
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 23/10/2012, 18:40
 
Fecha de Ingreso: octubre-2012
Ubicación: Asuncion
Mensajes: 7
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Problemas con 2 eventos submit y onsubmit de validacion en form

Muchas gracias por los consejos. Mis conocimientos en javascript son básicos y los codigos en realidad son con arquitectura MVC que estoy utilizando en el ABM de un script que estoy usando como recurso. Tendría que fijarme mas en esa parte para comprender mejor.

En el caso del código de ayuda, me da el mismo error :( . Ya le dí muchas vueltas pero las mirare mas con el sistema de código que me diste.

Etiquetas: eventos, onsubmit
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 16:41.