Foros del Web » Programando para Internet » Javascript »

El submit se envia de todas maneras. Porque???

Estas en el tema de El submit se envia de todas maneras. Porque??? en el foro de Javascript en Foros del Web. Nuevamente por aqui... salgo de un error y entro en otro. <form action='Ventas/cesta.php?action=add_item&id=$art[cod_art]' method=post name=frmCantidad class=form id=frmCantidad> <input name='txt_cantidad' type='text' class='caja' style='text-align:center' onKeypress='Validar_Numeros()' value='1' size='4' ...
  #1 (permalink)  
Antiguo 20/09/2005, 03:39
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 19 años, 7 meses
Puntos: 1
El submit se envia de todas maneras. Porque???

Nuevamente por aqui... salgo de un error y entro en otro.

<form action='Ventas/cesta.php?action=add_item&id=$art[cod_art]' method=post name=frmCantidad class=form id=frmCantidad>
<input name='txt_cantidad' type='text' class='caja' style='text-align:center' onKeypress='Validar_Numeros()' value='1' size='4' maxlength='2' >
<input type='submit' name='btn_enviar' value='Enviar' class='boton' onClick='cantidad_comprar()'>
</form>

//************************************************** *****
function cantidad_comprar(){
var tit = document.getElementById("txt_cantidad").value;
if (parseInt(tit) > 10){
alert ('Solo puede comprar menos de 10 articulos');
txt_cantidad.focus();
return;
} else {
submit();
}
}

El problema es el siguiente:

Si en el text ingreso 1 se dirige a Ventas/cesta.php Aca no tengo problemas.

Si coloco 13 me envia el mensaje del alert PERO... se dirige de todas maneras a Ventas/cesta.php?.........

Porque me envia de todas maneras si en el if lo estoy evaluando bien.

Gracias
  #2 (permalink)  
Antiguo 20/09/2005, 04:01
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola JuanKa

En lugar de un botón submit utiliza un botón normal:

<input type='button' name='btn_enviar' value='Enviar' class='boton' onClick='cantidad_comprar()'>

Saludos,
  #3 (permalink)  
Antiguo 20/09/2005, 04:06
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 19 años, 7 meses
Puntos: 1
Hola JavierB

hice lo que me dijistes y me va bien pero cuando coloco ahora un numero inferior a 10 ya no me envia a /Ventas/cesta......

Es decir es ahora al inverso al problema anterior.

Que puede ser
  #4 (permalink)  
Antiguo 20/09/2005, 04:10
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 19 años, 7 meses
Puntos: 1
Cita:
Iniciado por JuanKa
Hola JavierB

hice lo que me dijistes y me va bien pero cuando coloco ahora un numero inferior a 10 ya no me envia a /Ventas/cesta......

Es decir es ahora al inverso al problema anterior.

Que puede ser
Me olvidaba y en la parte inferior izquierda del Navegador me sale "Error en la Pagina"
  #5 (permalink)  
Antiguo 20/09/2005, 04:17
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
¡Oops! Esto me pasa por contestar demasiado deprisa. Creo que falta algún detalle más.

} else {
document.forms[0].submit();
}

Espero que ahora no te de problemas. Saludos,
  #6 (permalink)  
Antiguo 20/09/2005, 04:47
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 19 años, 7 meses
Puntos: 1

Gracias JavierB, eres una pasada.

Ahora si me evalua muy bien.

Tengo una duda al respecto de esto mismo , te cuentoa ver si me puedes ayudar.

Lo que tu me has indicado me va de maravilla, ahora en esta pagina tengo por ejemplo 10 o 12 o mas articulos. me entiendes ...verdad

Cada articulo tien su text box y aun costado su button pero por ejemplo

Articulo1 su text y su button
Articulo2 su text y su button
Articulo3 su text y su button

Ahora supongamos coloco 13 en el articulo 1 me sale el mensaje, esta muy bien, AHORA EN EL ARTICULO 3 LE DIGO ENVIAR Y ME SALE EL MENSAJE DEL ARTICULO 1, PORQUE SI YO ESTOY PRESIONANDO EL ARTICULO 3 CON LA CANTIDAD 1 QUE VIENE POR DEFECTO, ME DEBERIA ENVIAR A LA PAGINA VENTAS/CESPA.PHP.......

Como deberia de ser que cuando presione cualquier button de cualquier articulo me envie su cantidad de ese articulo.


No se si me entendiste.

Gracias
  #7 (permalink)  
Antiguo 20/09/2005, 06:34
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Me parece que no es el uso debido de los botones y los eventos de un formulario:

Las validaciones deberían hacerse con el evento onsubmit del tag form (En el botón submit no debería hacerse nada con respecto al formulario)

Con tu primer post, me parece que lo adecuado sería algo así:

<form action='Ventas/cesta.php?action=add_item&id=$art[cod_art]' method=post name=frmCantidad class=form id=frmCantidad
onsubmit="return cantidad_comprar()">
<input name='txt_cantidad' type='text' class='caja' style='text-align:center' onKeypress='Validar_Numeros()' value='1' size='4' maxlength='2' >
<input type='submit' name='btn_enviar' value='Enviar' class='boton' >
</form>

y en el script poner return true cuando pasa la validación (se envía)... aunque creo que se podría obviar... aunque sería más legible... y return false para cancelar el envío.

He tardado un poco en aprenderme estas cosas, pero creo que es la forma correcta de la gestión de un formulario... (tal vez solo sea mi punto de vista)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 00:18.