Foros del Web » Programando para Internet » Javascript »

función en js no funciona si no existe variable

Estas en el tema de función en js no funciona si no existe variable en el foro de Javascript en Foros del Web. Me explico. Tengo en un html/php este codigo, un form con varios inputs y uno de ellos solo se usa/ve para el administrador. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); ...
  #1 (permalink)  
Antiguo 10/03/2011, 11:09
Avatar de julliop  
Fecha de Ingreso: septiembre-2006
Ubicación: Asturias, patria querida
Mensajes: 42
Antigüedad: 17 años, 7 meses
Puntos: 0
función en js no funciona si no existe variable

Me explico.

Tengo en un html/php este codigo, un form con varios inputs y uno de ellos solo se usa/ve para el administrador.

Código PHP:
Ver original
  1. <form name="subir" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" onSubmit="return comprobarSelec();" enctype="multipart/form-data">
  2.     <p>Archivo*: <input name="fichero" type="file"></p>
  3.     <p>Ponle nombre breve a la foto*: <input name="nombre" type="text"></p>
  4.     <p>Describe la fotografia: </p><textarea name ="texto"></textarea>
  5.     <br>
  6.     <?php
  7.         if($_SESSION["tipo"]=="a")
  8.         {
  9.             $types=mysql_query("select nombre from tipo",$conexion) or die ("Problemas en el select".mysql_error());
  10.             echo "<select name='tipos'>
  11.            <option value='0'>Selecciona</option>";
  12.             while ($tips=mysql_fetch_array($types))
  13.             {
  14.                 if($tips['nombre']!="aux")      //Al administrador no se le permite subir fotos a la carpeta Aux
  15.                 {
  16.                     echo "<option value=".$tips['nombre'].">".$tips['nombre']."</option>";
  17.                 }
  18.             }
  19.         }
  20.     ?>    
  21.     <input name="submit" type="submit" value="Enviar">
  22. </form>

cargo un archivo js que tiene esta función:

Código Javascript:
Ver original
  1. function comprobarSelec()
  2. {
  3.    
  4.     var fichero=document.subir.fichero.value;
  5.     var nombre=document.subir.nombre.value;
  6.    
  7.     var select=document.subir.tipos.value;  //*1
  8.  
  9.    
  10.     if(fichero=="")
  11.     {
  12.        alert("No se ha indicado la imagen");
  13.         return false;          
  14.     }
  15.     else if(nombre=="")
  16.     {
  17.        alert("Debes introducir un nombre a la foto");
  18.         return false;          
  19.     }
  20.     else if(select=="0")
  21.     {
  22.        alert("Debes seleccionar un tipo adecuado");
  23.         return false;          
  24.     }
  25.     else
  26.     {
  27.         return true;           
  28.     }
  29.  
  30.    
  31. }

lo que hace es que con la función onSubmit, compruebo que haya datos en los campos especificados.

El problema es que cuando el usuario que entra en la web no es el administrador, no se muestra el input select y no me funciona el js. La línea que falla es la que está marcada con *1.

He intentado usar la función typeof de esta manera:

Código Javascript:
Ver original
  1. if (typeof document.subir.tipos.value != "undefined")
  2. var select=document.subir.tipos.value;

también he intentado pasar las variables al llamar la función, pero veo el mismo error...
he intentado con document.getElementId...

deciros que no tengo muchos conocimientos de Javascript y daros las gracias de antemano.

Saludos
  #2 (permalink)  
Antiguo 10/03/2011, 11:25
Avatar de julliop  
Fecha de Ingreso: septiembre-2006
Ubicación: Asturias, patria querida
Mensajes: 42
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: función en js no funciona si no existe variable

también he probado lo que se comenta en este enlace:

http://www.anieto2k.com/2007/03/05/creemos-un-isset-para-javascript/
  #3 (permalink)  
Antiguo 12/03/2011, 05:12
Avatar de julliop  
Fecha de Ingreso: septiembre-2006
Ubicación: Asturias, patria querida
Mensajes: 42
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: función en js no funciona si no existe variable

me he explicado muy mal? o es algo muy complejo?

Etiquetas: existe, js, variables
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 15:33.