Foros del Web » Programando para Internet » Javascript »

por que no me envia el formulario???

Estas en el tema de por que no me envia el formulario??? en el foro de Javascript en Foros del Web. tengo el siguiente codigo que sin la validacion de java si me funciona pero cuando le pngo el codigo de java para validar los campos, ...
  #1 (permalink)  
Antiguo 27/06/2010, 23:27
Avatar de Vergara  
Fecha de Ingreso: junio-2010
Ubicación: San Francisco California
Mensajes: 249
Antigüedad: 13 años, 10 meses
Puntos: 6
por que no me envia el formulario???

tengo el siguiente codigo que sin la validacion de java si me funciona pero cuando le pngo el codigo de java para validar los campos, me funciona todo menos al momento de enviar el formulario parece que lo envio pero no se registra nada en mi tabla que puede ser? espero me puedan ayudar gracias..


Java Script
Cita:
</style>

<script>

function validarEntero(valor){
//intento convertir a entero.
//si era un entero no le afecta, si no lo era lo intenta convertir
valor = parseInt(valor)

//Compruebo si es un valor numérico
if (isNaN(valor)) {
//entonces (no es numero) devuelvo el valor cadena vacia
return ""
}else{
//En caso contrario (Si era un número) devuelvo el valor
return valor
}
}


function valida_envia(){
//valido el nombre
if (document.fvalida.nombre_archivo.value.length==0){
alert("One or more of the required fields are empty. Please complete all required fields.")
document.fvalida.nombre_archivo.focus()
return 0;
}

//valido el precio. tiene que ser entero mayor que 5
precio = document.fvalida.precio.value
precio = validarEntero(precio)
document.fvalida.precio.value=precio
if (precio==""){
alert("You must enter a number in the price")
document.fvalida.precio.focus()
return 0;
}else{
if (precio<5){
alert("The lowest price allowed is $ 5. Please enter a higher price.")
document.fvalida.precio.focus()
return 0;
}
}





//el formulario se envia
alert("Muchas gracias por enviar el formulario");
document.fvalida.submit();
}
</script>



Cita:
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data" name="fvalida">

<TABLE BORDER=0>

<TR>
<TD>Beat Title:</TD>
<TD>
<INPUT class="casilla" type=text size="23" name="nombre_archivo">
</TD>
</TR>


<TR>
<TD class="price">Price: $</TD>
<TD>
<INPUT class="casilla" type="text" size="23" maxlength="10" name="precio">
</TD>
</TR>



<tr>
<td colspan="2" align="center"><input type="button" value="Enviar" onclick="valida_envia()"></td>
</tr>

</TABLE>

</FORM>
  #2 (permalink)  
Antiguo 28/06/2010, 02:00
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: por que no me envia el formulario???

Hola:

Siempre usa un botón submit y la validación del tipo:
<form onsubmit="return validar(this)"...

La función validar que devuelva false cuando no valide; y para cosas importantes implementa también validaciones en el servidor (bueno, en realidad la validación que vale debe ser la del servidor)

Debes considerar que los visitantes a tu página pueden tener javascript desactivado.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 28/06/2010, 02:22
Avatar de Vergara  
Fecha de Ingreso: junio-2010
Ubicación: San Francisco California
Mensajes: 249
Antigüedad: 13 años, 10 meses
Puntos: 6
Respuesta: por que no me envia el formulario???

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

Siempre usa un botón submit y la validación del tipo:
<form onsubmit="return validar(this)"...

La función validar que devuelva false cuando no valide; y para cosas importantes implementa también validaciones en el servidor (bueno, en realidad la validación que vale debe ser la del servidor)

Debes considerar que los visitantes a tu página pueden tener javascript desactivado.

Saludos
Gracias caricatos, bastante buena tu respuesta me sirvio bastante....

Etiquetas: formulario
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:28.