Foros del Web » Programando para Internet » Javascript »

Formulario en html que no llama evento onClick en JS

Estas en el tema de Formulario en html que no llama evento onClick en JS en el foro de Javascript en Foros del Web. tengo un form en html con la funcion onClick llamando un metodo en JS para colsultar si esta seguro de la respuesta y validar los ...
  #1 (permalink)  
Antiguo 15/12/2004, 08:21
 
Fecha de Ingreso: julio-2004
Mensajes: 194
Antigüedad: 19 años, 10 meses
Puntos: 1
Formulario en html que no llama evento onClick en JS

tengo un form en html con la funcion onClick llamando un metodo en JS para colsultar si esta seguro de la respuesta y validar los campos pero no funciona y no se que he hecho mal... a continuacion el codigo a ver si alguno localiza o me ayuda a localizar el error....

de ante mano gracias...

Fomulario en HTML
Código PHP:
<script src="JavaScript/validacion.js" type="text/Javascript"></script>   
<form method="POST" action="form.php">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="746" id="AutoNumber1" height="18">
  <tr>
    <td width="111" height="18" align="center">
    <input type="radio" value="true" name="status"> <b>Aprobar</b></td>
    <td width="123" height="18" align="center">
    <input type="radio" value="false" name="status"><b>Rechazar</b></td>
    <td width="512" height="18">
    <p align="center"><input type="submit" onClick="return validar(this.form)" value="Enviar" name="Enviar"><input type="reset" value="Restablecer" name="B2"></td>
  </tr>
</table>
</form> 
Evento JS (esta en un .js)

Código PHP:
function validar(form){

       if(
confirm("¿Esta seguro de su decisión? si acepta no podra cambiarla."))
          else
            
form.status.focus(); return false;

if (!
form.status.checked)
    {
alert("Debe elegir una opcion."); form.status.focus(); return false; }

 
form.submit();

__________________
"Hay Algo Activo en el piso de Abajo..."

K-Seraph Blog
  #2 (permalink)  
Antiguo 15/12/2004, 08:29
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Buenas,

qué es exactamente lo que no funciona? no hace nada? se envía? no se envía?
  #3 (permalink)  
Antiguo 15/12/2004, 10:12
 
Fecha de Ingreso: julio-2004
Mensajes: 194
Antigüedad: 19 años, 10 meses
Puntos: 1
Se envia sin validar nada, si ves el JS es un metodo que pregunte si esta seguro de su resuesta y ademas validad que hayas escojido una opcion, pero al hacer submit se envia sin pregunatr si estas seguro y sin validar una seleccion, es decir, puedes enviar el formulario sin seleccioar ninguna opcion....

espero me explicarme bien...
__________________
"Hay Algo Activo en el piso de Abajo..."

K-Seraph Blog
  #4 (permalink)  
Antiguo 15/12/2004, 10:15
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Eso es porque usas un botón de submit, o porque llamas a la función desde el tag que no sirve

Hay dos soluciones. Tal vez la más simple sea que cambies el botón a tipo button, en vez de tenerlo tipo submit

<input type="button"

Pero si alguien le da al intro se enviará sin verificar.

Mi sugerencia es que la función te quede así

Código:
function validar(form){ 

       if(confirm("¿Esta seguro de su decisión? si acepta no podra cambiarla.")) 
          else 
            form.status.focus(); return false; 

if (!form.status.checked) 
    {alert("Debe elegir una opcion."); form.status.focus(); return false; } 

}
Y tu form....

Código:
<script src="JavaScript/validacion.js" type="text/Javascript"></script>    
<form method="POST" action="form.php" onsubmit="return validar(this.form)"> 
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="746" id="AutoNumber1" height="18"> 
  <tr> 
    <td width="111" height="18" align="center"> 
    <input type="radio" value="true" name="status"> <b>Aprobar</b></td> 
    <td width="123" height="18" align="center"> 
    <input type="radio" value="false" name="status"><b>Rechazar</b></td> 
    <td width="512" height="18"> 
    <p align="center"><input type="submit"  value="Enviar" name="Enviar"><input type="reset" value="Restablecer" name="B2"></td> 
  </tr> 
</table> 
</form>
  #5 (permalink)  
Antiguo 15/12/2004, 17:14
 
Fecha de Ingreso: julio-2004
Mensajes: 194
Antigüedad: 19 años, 10 meses
Puntos: 1
mmmm... tampoco funciona hice copy paste del codigo y no funciona, verifique y sigo sin ver nada mal.... a alguen le funciona?
__________________
"Hay Algo Activo en el piso de Abajo..."

K-Seraph Blog
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 20:24.