Foros del Web » Programando para Internet » Javascript »

es nulo o no es un objeto

Estas en el tema de es nulo o no es un objeto en el foro de Javascript en Foros del Web. Hola chicos ,vereis tengo un problemon con el siguiente codigo y no veo donde esta el error,le he dado mil vueltas..ojala y podais ayudarme. gracias ...
  #1 (permalink)  
Antiguo 13/03/2011, 14:05
 
Fecha de Ingreso: marzo-2010
Mensajes: 127
Antigüedad: 14 años, 8 meses
Puntos: 2
Pregunta es nulo o no es un objeto

Hola chicos ,vereis tengo un problemon con el siguiente codigo y no veo donde esta el error,le he dado mil vueltas..ojala y podais ayudarme.
gracias de antemano por vuestra ayuda =)

Código Javascript:
Ver original
  1. <html>
  2. <head>
  3. <style type="text/css">
  4. body{background-color:#FFE4E1;}
  5. input{width:150px;background-color:#000000;color:'silver';}
  6. .1{background-color:#FFC0CB;width:200px;color:'black';}
  7. p{font-family:"Times New Roman";font-weight:bold;}
  8. #datos{position:absolute;top:200px;left:300px;}
  9. #menu{position:absolute;top:150px;left:100px;}
  10. </style>
  11. <script language="javascript">
  12.  
  13. function fsobre(objeto){
  14.  
  15. objeto.style.color="FUCHSIA";
  16. }
  17. function ffuera(objeto){
  18.  
  19. objeto.style.color="white";
  20.  
  21. }
  22.  
  23. function fcomprueba(){
  24. var ok='s';
  25. var banderanom=0;
  26. var banderaape=0;
  27. var banderatele=0;
  28. var banderaemail=0;
  29. var contarroba=0;
  30.  
  31.  
  32.         if(document.getElementById('nombre').value==""){
  33.             document.getElementById('errornom').style.visibility='visible';
  34.             ok='n';
  35.         }
  36.         else{
  37.             document.getElementById('errornom').style.visibility='hidden';
  38.            
  39.    
  40.         for(var i=0;i<document.getElementById('nombre').length;i++){
  41.                 if(!letrasV(document.getElementById('nombre').charAt(i))){banderanom=1;}
  42.                
  43.         }
  44.         }
  45.        
  46.  
  47.    
  48.         if(document.getElementById('apellidos').value==""){
  49.             document.getElementById('errorape').style.visibility='visible';
  50.             ok='n';
  51.             }
  52.             else{
  53.                 document.getElementById('errorape').style.visibility='hidden';
  54.            
  55.             for(var i=0;i<document.getElementById('apellidos').length;i++){
  56.                     if(!letrasV(document.getElementById('apellidos').charAt(i))){banderaape=1;}
  57.             }
  58.             }
  59.            
  60.         if(document.getElementById('telefono').value==""){
  61.             document.getElementById('errortele').style.visibility='visible';
  62.             ok='n';
  63.         }
  64.         else{
  65.             document.getElementById('errortele').style.visibility='hidden';
  66.             for(var i=0;i<document.getElementById('telefono').length;i++){
  67.                     if(!numerosV(document.getElementById('telefono').charAt(i))){banderatele=1;}
  68.             }
  69.         }
  70.  
  71.     if(document.getElementById('correo').value==""){
  72.         document.getElementById('errorcorreo').style.visibility="visible";
  73.         ok='n';
  74.     }
  75.     else{
  76.         document.getElementById('errorcorreo').style.visibility="hidden";
  77.        
  78.         for(var i=0;i<document.getElementById('correo').length;i++){
  79.         var letra=document.getElementById('correo').charAt(i);
  80.         switch(letra){
  81.         case '@': contarroba++;if(contarroba>1){ banderaemail=1;} break;
  82.         case '.': var cadena2=document.getElementById('correo').substring(i+1,document.getElementById('correo').length);
  83.        
  84.                     if(cadena2.length>3){banderaemail=1;}
  85.                     for(var j=0;j<cadena2.length;j++){
  86.                         alert(cadena2);
  87.                     if(!letrasV(cadena2.charAt(j))){banderaemail=1;}}
  88.                     break;
  89.         case ' ':banderaemail=1;break;
  90.         }
  91.         }                  
  92.         }      
  93.        
  94.         if(banderaemail!=0){alert("correo no valido");}
  95.         if(banderanom!=0){alert("Nombre escrito erroneamente");}
  96.         if(banderaape!=0){alert("Apellido escrito erroneamente");}
  97.         if(banderatele!=0){alert("Telefono no valido");}
  98. if((ok=='s'&&banderaemail==0)&&(banderanom==0&&banderaape==0)){
  99. document.f.submit();   
  100. }  
  101.  
  102. }
  103.  
  104. function letrasV(c){
  105. var letras=' abcdefghijklmnopqrstuvwxyzáéíóúABCDEFGHIJKLMNOPQRSTUVWXYZ';
  106. return (letras.indexOf(c)>=0);
  107.  
  108. }
  109. function numerosV(c){
  110. var numeros='0123456789 -';
  111. return (numeros.indexOf(c)>=0);
  112. }
  113. function emailV(c){
  114. var email='@.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
  115. return (email.indexOf(c)>=0);
  116. }
  117.  
  118.  
  119.  
  120. </script>
  121. </head>
  122. <body>
  123.  
  124. <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="1240px" height="110px">
  125.   <param name="movie" value="eslogan2.swf" />
  126.   <param name="quality" value="high" />
  127.   <embed src="eslogan2.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="32px" height="32px"></embed>
  128. </object>
  129.  
  130. <div id=menu>
  131. <table border=0>
  132. <tr><td><form action='index.html'><input type='submit'value="Inicio" onmouseover="fsobre(this)" onmouseout="ffuera(this)"></form></td></tr><tr><td><form action='registro.html'><input type=submit name=y value=" Registrarse  " onmouseover="fsobre(this)" onmouseout="ffuera(this)"></form></td></tr><tr><td><form action="servicios.html"><input type="submit" value="Servicios ofrecidos" onmouseover="fsobre(this)" onmouseout="ffuera(this)"></td></tr></table>
  133. </div>
  134. <div id=datos>
  135. <table border=0 align=center>
  136. <form action="registro2.php" name='f' id='f' method="POST">
  137. <tr><td><p>Nombre:</p></td><td><input type=text class="1" name=nombre id=nombre></td><td><label id=errornom style="visibility=hidden">Por favor ntroduce un nombre</label></td></tr>
  138. <tr><td><p>Apellidos:</p></td><td><input type=text class="1" name=apellidos id=apellidos></td><td><label id=errorape style="visibility=hidden">Por favor ntroduce tus apellidos</label></td></tr>
  139. <tr><td><p>Correo electronico:</p></td><td><input class="1" type=text name=correo id=correo></td><td><label id=errorcorreo style="visibility=hidden">Por favor Introduce direccion de email</label></td></tr>
  140. <tr><td><p>Telefono:</p></td><td><input type=text class="1" name=telefono id=telefono></td><td><label id=errortele style="visibility=hidden">Por favor introduce un telefono de contacto</label></td></tr>
  141. <tr><td><p>Movil:</p></td><td><input type=text class="1" name=movil id=movil></td></tr>
  142. <tr><td align=center><input type="button" name=x value="Enviar" onmouseover="fsobre(this)" onmouseout="ffuera(this)" onclick="fcomprueba()"></td></tr>
  143. </form>
  144. </table>
  145. </div>
  146. </body>
  147. </html>

al darle a enviar lo unico que funciona es cuando esta vacio el campo,no entra a los for aparentemente aparte de que no me hace el submit dandome el error
en la linea 99
document.f.submit()
me dice que document.f es nulo o no es un objeto porque me sale eso¿?
  #2 (permalink)  
Antiguo 13/03/2011, 16:16
 
Fecha de Ingreso: marzo-2010
Mensajes: 127
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: es nulo o no es un objeto

Hola chicos en si ya lo resolvi,pero la parte de validar el correo no me funciona,..y no se porque todo lo demas si.
el codigo actual es:
Código Javascript:
Ver original
  1. if(document.getElementById('correo').value==""){
  2.         document.getElementById('errorcorreo').style.visibility="visible";
  3.         ok='n';
  4.     }
  5.     else{
  6.         document.getElementById('errorcorreo').style.visibility="hidden";
  7.        
  8.         for(var i=0;i<document.getElementById('correo').value.length;i++){
  9.         var letra=document.getElementById('correo').value.charAt(i);
  10.         switch(letra){
  11.         case '@': contarroba++;if(contarroba>1){ banderaemail=1;} break;
  12.         case '.': var cadena2=document.getElementById('correo').value.substring(i+1,document.getElementById('correo').value.length);
  13.        
  14.                     if(cadena2.length>3){banderaemail=1;} alert(cadena2.length);
  15.                     for(var j=0;j<cadena2.length;j++){
  16.                         alert(cadena2);
  17.                     if(!letrasV(cadena2.charAt(j))){banderaemail=1;}}
  18.                     break;
  19.         case ' ':banderaemail=1;break;
  20.         }
  21.         }                  
  22.         }

Etiquetas: nulo, objeto
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 10:28.