Foros del Web » Programando para Internet » Javascript »

Error javascript + envio

Estas en el tema de Error javascript + envio en el foro de Javascript en Foros del Web. ¡Hola! tengo el un script para crear perfiles nuevos.En el hay un formulario en el k el usuario debe introducir su nombre, contraseña y e-mail, ...
  #1 (permalink)  
Antiguo 06/08/2010, 07:53
Avatar de andmai  
Fecha de Ingreso: enero-2010
Mensajes: 84
Antigüedad: 14 años, 3 meses
Puntos: 1
Exclamación Error javascript + envio

¡Hola!

tengo el un script para crear perfiles nuevos.En el hay un formulario en el k el usuario debe introducir su nombre, contraseña y e-mail, pero no funciona, ni me crea nuevos perfiles, ni salta la funcion del javascript cnd los campos estan vacios.No entiendo pork no funciona pork tengo otro script muy parecido para modificar datos k si k funciona bien, Lo unico k funciona en el siguiente script es el boton borrar, k borra los datos introducidos en los campos.
El script es el siguiente:

Código PHP:
<html>
<
head>
<
title>
Crear Perfil
</title>
<
link rel="stylesheet" type="text/css" href="estilos.css"/>

</
head>
 <
script language="javascript">
    function 
valida_envio(){
    
//valido el nombre
    
    
if (document.formCrear.nombre.value.length==0){
       
alert("Tienes que escribir tu nombre")
       
document.formCrear.nombre.focus()
       return 
false;
    }
    
    
//valido la contraseña
    
if (document.formCrear.contraseña.value.length==0){
       
alert("Tienes que escribir tu contraseña")
       
document.formCrear.contraseña.focus()
       return 
false;
    } 
    
    
//valido el email
    
if (document.formCrear.email.value.length==0){
       
alert("Tienes que escribir tu email")
       
document.formCrear.email.focus()
       return 
false;
    } 
     if ((
formCrear.email.value.indexOf ('@'0) == -1)||(formCrear.email.value.length 5)) {
    
alert("Escribe una dirección de correo válida");
    return (
false);
  }
     
document.formCrear.submit();
}
</script>
<body>
<p class="tituloInicio">CREAR PERFIL</p>

<p class="titulo1">introduce tu nombre</p>

<form name="formCrear" method="post" action="guardarDatos.php">
<p class="textoAuxi">nombre:</p>
<input type="text" name="nombre" size="20" class="posicionCaja"> 
<br>
<br>
<p class="textoAuxi">contraseña:</p>
<input type="password" name="contraseña" size="20" class="posicionCaja"> 
<br>
<br>
<p class="textoAuxi">email:</p>
<input type="text" name="email" size="40" class="posicionCaja">

<br>
<input type="button" name="boton1" class="botonP" value="Aceptar" onClick="valida_envio()">
<input type="reset" name="boton2" class="botonP" value= "Borrar">
<input class="botonP" type="submit" value="Atras" onclick=this.form.action='perfil.php'>
</form>
</body>
</html> 


Si alguien pudiera echarle un vistazo para poder decirme k es lo k se me escapa....

Muchisimas gracias
  #2 (permalink)  
Antiguo 06/08/2010, 07:55
Avatar de andmai  
Fecha de Ingreso: enero-2010
Mensajes: 84
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Error javascript + envio

Se me ha olvidado añadir que tiene un tercer boton, atras, k tambien funciona bien

Gracias
  #3 (permalink)  
Antiguo 06/08/2010, 08:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Tema movido desde PHP a Javascript
  #4 (permalink)  
Antiguo 06/08/2010, 09:27
 
Fecha de Ingreso: enero-2008
Ubicación: Buenos Aires
Mensajes: 305
Antigüedad: 16 años, 3 meses
Puntos: 14
Respuesta: Error javascript + envio

lo probe en Chrome, Firefox e IE 8 y funciona perfecto.
Código HTML:
Ver original
  1. <html>
  2. <head>
  3. Crear Perfil
  4. </title>
  5. <link rel="stylesheet" type="text/css" href="estilos.css"/>
  6.  
  7. </head>
  8.  <script language="javascript">
  9.     function valida_envio(){
  10.     //valido el nombre
  11.      
  12.     if (document.formCrear.nombre.value.length==0){
  13.        alert("Tienes que escribir tu nombre")
  14.        document.formCrear.nombre.focus()
  15.        return false;
  16.     }
  17.      
  18.     //valido la contraseña
  19.     if (document.formCrear.contraseña.value.length==0){
  20.        alert("Tienes que escribir tu contraseña")
  21.        document.formCrear.contraseña.focus()
  22.        return false;
  23.     }  
  24.      
  25.     //valido el email
  26.     if (document.formCrear.email.value.length==0){
  27.        alert("Tienes que escribir tu email")
  28.        document.formCrear.email.focus()
  29.        return false;
  30.     }  
  31.      if ((formCrear.email.value.indexOf ('@', 0) == -1)||(formCrear.email.value.length < 5)) {
  32.    alert("Escribe una dirección de correo válida");
  33.    return (false);
  34.  }
  35.     document.formCrear.submit();
  36. }
  37. </script>
  38. <body>
  39. <p class="tituloInicio">CREAR PERFIL</p>
  40.  
  41. <p class="titulo1">introduce tu nombre</p>
  42.  
  43. <form name="formCrear" method="post" action="guardarDatos.php">
  44. <p class="textoAuxi">nombre:</p>
  45. <input type="text" name="nombre" size="20" class="posicionCaja">  
  46. <br>
  47. <br>
  48. <p class="textoAuxi">contraseña:</p>
  49. <input type="password" name="contraseña" size="20" class="posicionCaja">  
  50. <br>
  51. <br>
  52. <p class="textoAuxi">email:</p>
  53. <input type="text" name="email" size="40" class="posicionCaja">
  54.  
  55. <br>
  56. <input type="button" name="boton1" class="botonP" value="Aceptar" onClick="valida_envio()">
  57. <input type="reset" name="boton2" class="botonP" value= "Borrar">
  58. <input class="botonP" type="submit" value="Atras" onclick="this.form.action='perfil.php'">
  59. </form>
  60. </body>
  61. </html>
  #5 (permalink)  
Antiguo 06/08/2010, 12:49
Avatar de andmai  
Fecha de Ingreso: enero-2010
Mensajes: 84
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Error javascript + envio

gracias kokoou!
entncs cual puede ser la causa por la k no m funciona a mi???
  #6 (permalink)  
Antiguo 08/08/2010, 02:37
Avatar de andmai  
Fecha de Ingreso: enero-2010
Mensajes: 84
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Error javascript + envio

Alguien me podria dar alguna solucion por favor?
Gracias
  #7 (permalink)  
Antiguo 08/08/2010, 03:24
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: Error javascript + envio

Hola:

Supongo que tu error en concreto es usar la letra eñe en un objeto... eso hace que se produzca un error, y se aborte la validación.

Apuntes adicionales:

Siempre usa un botón submit para enviar formularios... así son accesibles.
Usar el método submit es forzar el envío, pero según parece que es este caso, si se aborta la validación por errores tampoco se envían...
Las validaciones debes procurar que sean de este modo: <form onsubmit="return validar(this)"...> usar un botón submit y la función validadora debe devolver false se debe abortarse o cancelarse (cuando no pasa la validación)

Y las validaciones importantes deben ser en el servidor.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 08/08/2010, 03:51
Avatar de andmai  
Fecha de Ingreso: enero-2010
Mensajes: 84
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Error javascript + envio

Muchas gracias caricatos!!!
era problema de la ñ,jeje
saludos
  #9 (permalink)  
Antiguo 08/08/2010, 13:04
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Error javascript + envio

solo por curiosidad. ¿en que navegador te produce error con la leta ñ? en mi investigacion, no veo como la eñe pudo haber sido el error. me explico. en el HTML DTD -indistintamente del nivel strict o loose- el atributo name del elemento <input> es de tipo CDATA, lo que significa que el valor del atributo puede contener cualquier caracter de acuerdo a la sintaxis impuesta por html. es decir, caracteres como & < > no pueden ser utilizados porque tienen un significado especial. la eñe no tiene ningun significado por lo que se puede emplear en valores del atributo name.

por otra parte, los script tambien pueden contener cualquier caracter -de nuevo, siguiendo las normas de la sintaxis- ya sea para nombrar identificadores (variables o funciones) o para hacer referencia a elementos. o sea, javascript no esta limitado a caracteres del alfabeto ingles o del charset ASCII. por tanto, un ruso o un japones puede escribir el codigo en su propio idioma. si es el caso, entonces por qué nosotros no podremos usar la eñe o cualquier otro caracter de nuestro alfabeto.

segun el estandar ECMAScript-262, javascript convierte internamente el codigo fuente en Unicode con la transformacion utf16 (secciones 6 y 7.6 de la 5ta edicion). por supuesto, de esto no nos fijamos porque es un proceso que sucede internamente de forma trasparente al programador. como sabran, Unicode soporta muchos sistemas lenguajes escritos -humanos- a nivel universal. de ahi la razon que javascript se pueda escribir en cualquier idioma.

en conclusion, no veo como la eñe pudo haber sido causante del problema. a no ser que el interprete javascript del navegador este basado en una antigua implementacion de ECMAScript-262 donde Unicode solo era soportado en los strings y los identificadores estaban limitado a caracteres del ASCII.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #10 (permalink)  
Antiguo 10/08/2010, 01:58
Avatar de andmai  
Fecha de Ingreso: enero-2010
Mensajes: 84
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Error javascript + envio

El navegador es la ultima version de Firefox

Etiquetas: envio
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 05:40.