Foros del Web » Programando para Internet » Javascript »

Como validar con botones tipo submit

Estas en el tema de Como validar con botones tipo submit en el foro de Javascript en Foros del Web. Hola tengo un problema y es que tengo un formulario que cumple varias acciones dependiendo el boton que se presione, tengo cuatro botones tipo submit ...
  #1 (permalink)  
Antiguo 27/07/2005, 14:42
 
Fecha de Ingreso: junio-2005
Mensajes: 88
Antigüedad: 18 años, 10 meses
Puntos: 0
Como validar con botones tipo submit

Hola tengo un problema y es que tengo un formulario que cumple varias acciones dependiendo el boton que se presione, tengo cuatro botones tipo submit y cada uno tiene un nombre diferente, la idea es ponerle a cada uno una funcion javascript para validar onclick="javascript:if (validar()) form1.submit();"
pero el problema es que la funcion corre efectivamente y me despliega la alarma si la condicion no se ha cumplido pero de todas formas el formulario se envia despues de presionar aceptar en la alerta.
Otro problema es que no puedo utilizar botones normales es necesario que sean tipo submit, tengo un libro donde me dice que al devolver false en la accion onclick la funcion original del boton submit no se cumple pero si se esta cumpliendo, alguna sugerencia.

Gracias a todos.
  #2 (permalink)  
Antiguo 27/07/2005, 14:50
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 19 años, 9 meses
Puntos: 4
usa botones comunes, el submit esta de adorno si hay que validar el formulario.

llamas a una funcion y dentro de la funcion validas y haces el submit.
  #3 (permalink)  
Antiguo 27/07/2005, 15:08
 
Fecha de Ingreso: junio-2005
Mensajes: 88
Antigüedad: 18 años, 10 meses
Puntos: 0
lo que pasa es que estoy utilizando coldfusion y cuando no es un boton tipo submit no reconoce que accion fue solicitada como mencione antes es un mismo formulario que hace cuatro acciones y necesito que cada uno de los botones sea reconocido por coldfusion.
La pregunta que hago con coldfusion es If IsDefined("Form.boton") realiza la accion pero cuando el boton es de tipo boton no reconoce nunca la accion en cambio con el boton submit si lo reconoce.

Ayuda por favor. Llevo dias metido en esto.
  #4 (permalink)  
Antiguo 28/07/2005, 08:01
 
Fecha de Ingreso: junio-2005
Mensajes: 88
Antigüedad: 18 años, 10 meses
Puntos: 0
Por favor alguien conoce alguna forma de impedir que la funcion submit se ejecute si la accion de un evento onclick en el boton tipo input submit es false, todos los libros de javascript dicen que se deberia suprimir la funcion default pero algo debo estar haciendo mal que no funciona, la funcion devuelve false pero el formulario sigue enviandose.
  #5 (permalink)  
Antiguo 28/07/2005, 08:17
Avatar de Alexis_m20  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 71
Antigüedad: 20 años, 4 meses
Puntos: 0
en el form pone

<form method="post" action="etc.asp" onsubmit="javascript:valida()">


espero te sirva
__________________
_______________________
Si Puedo Ayudar lo HARE
Mi web Pages
  #6 (permalink)  
Antiguo 28/07/2005, 08:33
 
Fecha de Ingreso: junio-2005
Mensajes: 88
Antigüedad: 18 años, 10 meses
Puntos: 0
Esque como mencionaba antes tengo cuatro botones y cada uno debe hacer una accion y validacion distinta, la validacion debe ser a nivel del boton y el boton debe ser submit. Segun los libros si la accion de un evento onclick devuelve false, la accion por default del submit no deberia realizarse pero no se que estoy haciendo mal que de todas formas se envia el formulario.
  #7 (permalink)  
Antiguo 28/07/2005, 08:39
Avatar de Alexis_m20  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 71
Antigüedad: 20 años, 4 meses
Puntos: 0
le debes enviar un return true ' cuando pasa las validaciones, y un return false, para que no sigua adelante
__________________
_______________________
Si Puedo Ayudar lo HARE
Mi web Pages
  #8 (permalink)  
Antiguo 28/07/2005, 09:05
 
Fecha de Ingreso: junio-2005
Mensajes: 88
Antigüedad: 18 años, 10 meses
Puntos: 0
mira te escribo el código que estoy usando dime si ves algo mal hecho:

function validar(){
if (window.document.form1.campo.value==""){
alert('Debe llenar el campo');
return false;
}else{
return true;
}
}

Y lo llamo en el boton de la siguiente forma:

<input type="submit" name="nuevo_tipo" value="Nuevo" onClick="javascript: if (validar()) form1.submit();">



Que esta mal?
  #9 (permalink)  
Antiguo 28/07/2005, 09:20
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 19 años, 9 meses
Puntos: 4
que programas de una forma anticuada:

window.document.form1.campo.value==""

eso no funciona en firefox, los botones no llevan nombre y el submit se puede hacer dentro de la funcion.
  #10 (permalink)  
Antiguo 28/07/2005, 09:37
 
Fecha de Ingreso: junio-2005
Mensajes: 88
Antigüedad: 18 años, 10 meses
Puntos: 0
Lo que pasa es que estoy interactuando con ColdFusion y resulta que para poder reconocer que boton presioné necesito que sea un boton tipo submit porque de lo contrario coldfusion no reconoce cual de los botones presiné. La funcion solo debería validar lo que yo le digo que haga y despues el boton tipo submit debería enviar si es verdadero o quedarse quieto si es falso.
Me explico.
  #11 (permalink)  
Antiguo 28/07/2005, 10:52
Avatar de Alexis_m20  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 71
Antigüedad: 20 años, 4 meses
Puntos: 0
por ser un boton submit, siempre te lo va asubmitiar si lo validas desde alli.

ademas lo mejor de usar submit, es que lo debes poner en el form onSubmit="javascript:validar();" hace exactamente lo que quieres pero si tienes más de un boton, podrias validar que boton apretaste
__________________
_______________________
Si Puedo Ayudar lo HARE
Mi web Pages
  #12 (permalink)  
Antiguo 28/07/2005, 10:57
 
Fecha de Ingreso: junio-2005
Mensajes: 88
Antigüedad: 18 años, 10 meses
Puntos: 0
Como se valida que boton se presionó.
  #13 (permalink)  
Antiguo 28/07/2005, 14:07
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 19 años, 9 meses
Puntos: 4
a ver asi:

Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<
html>
<
head>
    <
script type="text/javascript">
        function 
asdf(v)
        {
            if (
v==1document.getElementById('f1').onsubmit validar1;
            else if (
v==2document.getElementById('f1').onsubmit validar2
            
else if (v==3document.getElementById('f1').onsubmit validar3
            
else if (v==4document.getElementById('f1').onsubmit validar4
        
}
        function 
validar1()
        {
            if (
hay algo mal) return false;
            return 
true;
        }
        function 
validar2()
        {
            if (
hay algo mal) return false;
            return 
true;
        }
        function 
validar3()
        {
            if (
hay algo mal) return false;
            return 
true;
        }
        function 
validar4()
        {
            if (
hay algo mal) return false;
            return 
true;
        }
    
</script>

</head>

<body>
<form id="f1" method="post" action="">
    <input type="submit" value="enviar 1" onclick="asdf(1)">
    <input type="submit" value="enviar 2" onclick="asdf(2)">
    <input type="submit" value="enviar 3" onclick="asdf(3)">
    <input type="submit" value="enviar 4" onclick="asdf(4)">
</form>
</body>
</html> 
  #14 (permalink)  
Antiguo 13/04/2009, 11:08
 
Fecha de Ingreso: agosto-2002
Mensajes: 32
Antigüedad: 21 años, 8 meses
Puntos: 0
Respuesta: Como validar con botones tipo submit

y hasi no te funciona

<script type="text/javascript">
function validar(){
if (window.document.form1.SFPR.value==""){
alert('Debe llenar el campo sello y firma');
return false;
}else if (window.document.form1.ESCALA.value==""){
alert('Debe llenar el campo escala');
return false;
}else{
return true;
}
}
function validar2(){
if (window.document.form2.SFPR2.value==""){
alert('Debe llenar el campo sello y firma2');
return false;
}else if (window.document.form2.ESCALA2.value==""){
alert('Debe llenar el campo escala2');
return false;
}else{
return true;
}
}
</script>

<input type="button" name="nuevo_tipo" value="form1"
onClick="javascript: if (validar()) form1.submit();">

<input type="button" name="insertar" value="form2"
onClick="javascript: if (validar2()) form1.submit();">
  #15 (permalink)  
Antiguo 14/04/2009, 07:04
Avatar de TonyChile  
Fecha de Ingreso: marzo-2009
Ubicación: Maipú, Santiago
Mensajes: 422
Antigüedad: 15 años, 1 mes
Puntos: 7
Respuesta: Como validar con botones tipo submit

Evidiel

Cita:
y hasi no te funciona
No es por ser mala onda pero no crees que esta de mas el comentario si el tema es de hace ya 4 Años No creo que le sirva mucho a chavuco

De todas formas espero que tu aporte le sirva a alguien

Puede alguien cerrar el tema
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.
Tema Cerrado

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 12:08.