Foros del Web » Programando para Internet » Javascript »

Problema con validacion Field

Estas en el tema de Problema con validacion Field en el foro de Javascript en Foros del Web. Hola a todos!! Tengo un javascript que añade un Field al clicarle, que lo utilizo para subir varias imagenes a mi servidor, y funciona correctamente, ...
  #1 (permalink)  
Antiguo 26/09/2011, 11:41
Avatar de nolose  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 165
Antigüedad: 16 años, 4 meses
Puntos: 2
Problema con validacion Field

Hola a todos!!

Tengo un javascript que añade un Field al clicarle, que lo utilizo para subir varias imagenes a mi servidor, y funciona correctamente, os pongo el código a continuación:
(Código obtenido de http://www.buayacorp.com/archivos/en...l-estilo-gmail)

Código HTML:
var numero = 0;

// Funciones comunes
c= function (tag) { // Crea un elemento
   return document.createElement(tag);
}
d = function (id) { // Retorna un elemento en base al id
   return document.getElementById(id);
}
e = function (evt) { // Retorna el evento
   return (!evt) ? event : evt;
}
f = function (evt) { // Retorna el objeto que genera el evento
   return evt.srcElement ?  evt.srcElement : evt.target;
}

addField = function () {
	if(numero<9)
	{
	   container = d('files');
	   
	   span = c('SPAN');
	   span.className = 'file';
	   span.id = 'file' + (++numero);
	
	   field = c('INPUT');   
	   field.name = 'archivos[]';
	   field.type = 'file';
	   
	   a = c('A');
	   a.name = span.id;
	   a.href = '#ancla_insert';
	   a.onclick = removeField;
	   //a.classname = 'texto_azul_link';
	   a.innerHTML = ' Quitar';
	
	   span.appendChild(field);
	   span.appendChild(a);
	   container.appendChild(span);
	}
}
removeField = function (evt) {
   lnk = f(e(evt));
   span = d(lnk.name);
   span.parentNode.removeChild(span);
   
   numero--;
}
También tengo otro archivo .js, que se encarga de validar que cada uno de los Fields contenga la los caracteres “.jpg”, porque solo quiero que se suban al servidor imagenes con extensión .jpg...

Para ello estoy intentando utilizar (NO FUNCIONA):

Código HTML:
if(document.f1.getElementById(id).indexOf('.jpg') == -1)
{
También probe con (NO FUNCIONA):

Código HTML:
if(document.f1.archivos[0].value.indexOf('.jpg') == -1)
{
El caso es… que la validación no me funciona de ninguna de las maneras… ¿Sabríais cómo podría hacer para que funcionase??.
Gracias!!
  #2 (permalink)  
Antiguo 26/09/2011, 12:41
Avatar de daPhyre
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: [email protected] (Redirects to 127.0.0.1)
Mensajes: 2.404
Antigüedad: 16 años, 1 mes
Puntos: 142
Respuesta: Problema con validacion Field

Creo que lo estás haciendo al revés :S...

No estoy seguro de como se manejes 'archivos', pero en el primer caso, si es necesario pedir el value (Y no se como influya ese 'f1'):

Código PHP:
if(document.getElementById(id).value.indexOf('.jpg') == -1){ 
Suerte
__________________
<signs>daPhyre</signs>
Jugaa.me


Adios al dolor de cabeza de IE...
  #3 (permalink)  
Antiguo 26/09/2011, 13:28
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Problema con validacion Field

tienes dos manera de accesar a un objeto
Cita:
por su id
document.getElementById(id).value
o por su name
document.formulario.nombrecampo.value // esta manera tiene alguna otra variante
una vez dicho esto, la validación que haces, sólo garantiza que en la cadena esté la subcadena ".jpg". es decir, que tan válido es imagen.jpg como im.jpgagen.gif.
la solución a este problema pasa por usar una expresión regular
  #4 (permalink)  
Antiguo 26/09/2011, 13:35
Avatar de nolose  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 165
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: Problema con validacion Field

Nada no funciona :S

Realmente no se yo tampoco como funciona bien el archivos... pero a la hora de recoger los datos del form lo hace asi (php):

Código PHP:
    $archivos '';
    if (isset (
$_FILES["archivos"])) {
        foreach (
$_FILES["archivos"]["error"] as $key => $error) {
            if (
$error == UPLOAD_ERR_OK) {
                
$tmp_name $_FILES["archivos"]["tmp_name"][$key];
                                        
                
$name $_FILES["archivos"]["name"][$key]; 
  #5 (permalink)  
Antiguo 26/09/2011, 13:43
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Problema con validacion Field

pero en que lado quieres validarlo?? si es del lado del cliente, estás en el foro adecuado, pero no entiendo que tiene que ver con ello tu anterior post. si es del lado del servidor, te has equivocado de foro, ve al de php
  #6 (permalink)  
Antiguo 26/09/2011, 14:14
Avatar de nolose  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 165
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: Problema con validacion Field

Lo quiero validar mediante javascript.

Solo he puesto las lineas del codigo php por si sirven de ayuda... para entender un poco lo que hace "archivos"


:S
  #7 (permalink)  
Antiguo 26/09/2011, 14:25
Avatar de nolose  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 165
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: Problema con validacion Field

Este script hace un bucle (de 9 Field máximo) y no sé como tratar exactamente cada field para su validación…)

Respecto a que se pueda introducir “im.jpgmiarchivo.gif” no me importa que pueda ocurrir… considero que va es un nivel de seguridad aceptable usando:

Código Javascript:
Ver original
  1. if(document.getElementById(id).value.indexOf('.jpg') == -1){

He probado con un código que he encontrado en un hilo de 2003:
(http://www.forosdelweb.com/f13/solo-jpg-116610/)

Código Javascript:
Ver original
  1. for(m=0;m<archivos.length;m++)
  2.     {
  3.         if(archivos[m].type== "file")
  4.         {
  5.         if(archivos[m].value.substring(archivos[m].value.length-3,archivos[m].value.length).toLowerCase() != "jpg")
  6.         {
  7.             alert("Debes insertar sólo archivos de tipo jpg");
  8.         }
  9.     }
  10.    
  11. }


Pero el problema persiste, no consigo que me valide los errores… :S:S

Última edición por nolose; 26/09/2011 a las 15:32
  #8 (permalink)  
Antiguo 27/09/2011, 05:18
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Problema con validacion Field

ya que copias, copia todo el código del post #14. no sólo una parte
  #9 (permalink)  
Antiguo 27/09/2011, 07:30
Avatar de nolose  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 165
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: Problema con validacion Field

Ok, procedo a pegar todo el material:


Fichero .js (Que añade o borra un Field para examinar la imagen)

Código Javascript:
Ver original
  1. var numero = 0;
  2.  
  3. // Funciones comunes
  4. c= function (tag) { // Crea un elemento
  5.    return document.createElement(tag);
  6. }
  7. d = function (id) { // Retorna un elemento en base al id
  8.    return document.getElementById(id);
  9. }
  10. e = function (evt) { // Retorna el evento
  11.    return (!evt) ? event : evt;
  12. }
  13. f = function (evt) { // Retorna el objeto que genera el evento
  14.    return evt.srcElement ?  evt.srcElement : evt.target;
  15. }
  16.  
  17. addField = function () {
  18.     if(numero<9)
  19.     {
  20.        container = d('files');
  21.        
  22.        span = c('SPAN');
  23.        span.className = 'file';
  24.        span.id = 'file' + (++numero);
  25.    
  26.        field = c('INPUT');  
  27.        field.name = 'archivos[]';
  28.        field.type = 'file';
  29.        
  30.        a = c('A');
  31.        a.name = span.id;
  32.        a.href = '#ancla_insert';
  33.        a.onclick = removeField;
  34.        a.className = 'texto_azul_link';
  35.        a.innerHTML = '&laquo; Quitar';
  36.    
  37.        span.appendChild(field);
  38.        span.appendChild(a);
  39.        container.appendChild(span);
  40.     }
  41. }
  42. removeField = function (evt) {
  43.    lnk = f(e(evt));
  44.    span = d(lnk.name);
  45.    span.parentNode.removeChild(span);
  46.    
  47.    numero--;
  48. }


Control de errores: (Esto es lo que no funciona):
Esto se ejecuta al pulsar "enviar" en el formulario:
<form name="f1" action="func/func_nueva_ficha.php" method="post" onsubmit="return valida_nueva_ficha(this)" enctype="multipart/form-data">

Código Javascript:
Ver original
  1. for(m=0;m<archivos.length;m++)
  2. {
  3.             if(archivos[m].type== "file")
  4.             {
  5.                   if(archivos[m].value.substring(archivos[m].value.length-3,archivos[m].value.length).toLowerCase() != "jpg")
  6.                   {
  7.                         alert("Debes insertar sólo archivos de tipo jpg");
  8.                    }
  9.         }  
  10. }


También he probado a hacer esto: (pero esque, ni me detecta que los Field estan vacios :S:S.

Código Javascript:
Ver original
  1. if(document.getElementById(id).value == "")
  2. {
  3.     alert("El Field no puede estar vacio!!");
  4. }

Función .php que procesa las imagenes (con los datos recibidos de "archivos")
(Lo pongo a modo informativo... por si consigues sacar algo sobre el funcionamiento de archivos, yo entiendo que es un vector que va almacenando el contenido de los distintos Fields :S)

Código PHP:
    //Capturar nombre y subir imagenes al servidor
    
$archivos '';
    if (isset (
$_FILES["archivos"])) {
        foreach (
$_FILES["archivos"]["error"] as $key => $error) {
            if (
$error == UPLOAD_ERR_OK) {
                
$tmp_name $_FILES["archivos"]["tmp_name"][$key];
                                        
                
$name $_FILES["archivos"]["name"][$key];
                
$name uniqid('bc') . '_' $name# Generar un nombre unico para el archivo
                
                //Almacenamos el nombre de la imagen en un vector con pos i
                
$i=$i+1;
                
$img[$i] = $name;
                
                
//Guardar el archivo en una ubicacin. Debe tener los permisos necesarios
                
move_uploaded_file($tmp_name"../../images/$name");
                
                
//---------------------
                //CODIGO DE REDIMENSION
                
$dir "../../images/"//Ruta donde guardamos las imagenes
                
$ancho 582
                
$alto 437;
                
                
$fuente imagecreatefromjpeg($dir.$name);
                
                
//Obtenemos las dimensiones de la imagen original
                
$imgAncho imagesx($fuente);
                
$imgAlto =imagesy($fuente);
                
                
//Si la imagen está en vertical... (le damos la vuelta)
                
if($imgAncho<$imgAlto)
                {
                    
$tamAux $ancho;
                    
$ancho $alto;
                    
$alto $tamAux;
                }
                
                
$imagen imagecreatetruecolor($ancho,$alto);
                
                
//Efectua la redimension
                
imagecopyresampled($imagen,$fuente,0,0,0,0,$ancho,$alto,$imgAncho,$imgAlto); 
                
imagejpeg($imagen,$dir.$name);
                
                if(
$i==1){
                    
//---------------------------
                    //CODIGO DE REDIMENSION THUMB
                    
$thumb_prefijo "thumb_"//Prefijo para el thumb
                    
$thumb_ancho140//Nuevo ancho
                    
$thumb_alto105//Nuevo alto
                    
                    
$thumb_fuente imagecreatefromjpeg($dir.$name);
                    
                    
//Obtenemos las dimensiones de la imagen original
                    
$thumb_imgAncho imagesx($thumb_fuente);
                    
$thumb_imgAlto =imagesy($thumb_fuente);
                    
                    
//Si la imagen está en vertical... (le damos la vuelta)
                    
if($thumb_imgAncho<$thumb_imgAlto)
                    {
                        
$thumb_tamAux $thumb_ancho;
                        
$thumb_ancho $thumb_alto;
                        
$thumb_alto $thumb_tamAux;
                    }
                    
                    
$thumb_imagen imagecreatetruecolor($thumb_ancho,$thumb_alto);
                    
                    
//Efectua la redimension                    
                    
imagecopyresampled($thumb_imagen,$thumb_fuente,0,0,0,0,$thumb_ancho,$thumb_alto,$thumb_imgAncho,$thumb_imgAlto); 
                    
//La salvamos con el nombre y en el lugar que nos interesa.
                    
imagejpeg($thumb_imagen,$dir.$thumb_prefijo.$name);
                    
#Redimension
                
#if                   
            
#if
        
#foreach
    
#i 

Nota: Si pongo comprobaciones (un alert por ejemplo) con otros campos del formulario que no se el Field, si me los valida crrectamente. Solo tengo problemas con el Field.


Muchas gracias por tu ayuda IsaBelM :)

Última edición por nolose; 27/09/2011 a las 07:35
  #10 (permalink)  
Antiguo 27/09/2011, 16:00
Avatar de daPhyre
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: [email protected] (Redirects to 127.0.0.1)
Mensajes: 2.404
Antigüedad: 16 años, 1 mes
Puntos: 142
Respuesta: Problema con validacion Field

Bastante extraño... Iré por lo lógico: ¿Estás pasando correctamente el string del ID? ¿En que momento llamas a la función que analiza el código?
__________________
<signs>daPhyre</signs>
Jugaa.me


Adios al dolor de cabeza de IE...
  #11 (permalink)  
Antiguo 28/09/2011, 03:20
Avatar de nolose  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 165
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: Problema con validacion Field

Creo al 90% que eso no lo hago bien y ahi esta el fallo... ¿sabes como deberia de pasarle el dato??
  #12 (permalink)  
Antiguo 28/09/2011, 12:26
Avatar de daPhyre
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: [email protected] (Redirects to 127.0.0.1)
Mensajes: 2.404
Antigüedad: 16 años, 1 mes
Puntos: 142
Respuesta: Problema con validacion Field

Necesitaría saber cómo envías el valor de Id, como lo recibes en la función y estar seguro que la ID corresponda a la de la etiqueta que estás llamando en el HTML...
__________________
<signs>daPhyre</signs>
Jugaa.me


Adios al dolor de cabeza de IE...
  #13 (permalink)  
Antiguo 28/09/2011, 13:45
Avatar de nolose  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 165
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: Problema con validacion Field

Te pongo el codigo, pero del HTML pasa bien al fichero php que procesa el dato, el Field hace su mision y envia la ruta de la imagen...

lo que no funciona es la validación de errores intermedia por javascript.


NOTA: El Field está casi al final, con <a href="#ancla_insert" onclick="addField()" accesskey="5" class="texto_azul_link"> donde añadimos el nuevo Field (en el archivo .js cuyo código puse anteriormente)

Código HTML:
<script type="text/javascript">
//Utilizamos este metodo para cargar funciones (onload) fuera del body
window.onload = function() {
	fill_meses();
	fill_anos();
}
</script>

<div align="center">
<form name="f1" action="func/func_nueva_ficha.php" method="post" onsubmit="return valida_nueva_ficha(this)" enctype="multipart/form-data">
<!-- <form name="frm" id="frm" action="func/func_nueva_ficha.php" method="post" enctype="multipart/form-data"> -->
  <table width="800" border="0" cellpadding="0" cellspacing="5" bgcolor="#FFFFFF">
    <tr>
      <td><table width="100%" border="0" cellspacing="0" cellpadding="4">
          <tr>
            <td bgcolor="#DB1D21" class="align_izq"><span class="texto_blanco"><strong>[ DTCARSVO ] - Panel de Administraci&oacute;n &gt; Nueva Ficha </strong></span></td>
          </tr>
      </table></td>
    </tr>
    <tr>
      <td><table width="100%" border="0" cellspacing="6" cellpadding="0">
          <tr>
            <td class="align_der">
			<div id="emarca" style="display:block" class="texto"><strong>Marca:</strong></div>
            <div id="emarca_error" style="display:none" class="texto_rojo"><strong>Marca:</strong></div> </td>
            <td width="70%" class="align_izq"><input name="marca" type="text" id="marca" size="26" maxlength="30" />
              <span class="gris_peque">(*)</span></td>
          </tr>
          <tr>
            <td class="align_der">
			<div id="emodelo" style="display:block" class="texto"><strong>Modelo:</strong></div>
            <div id="emodelo_error" style="display:none" class="texto_rojo"><strong>Modelo:</strong></div> </td>
            <td class="align_izq"><input name="modelo" type="text" id="modelo" size="26" maxlength="30" /> 
              <span class="gris_peque">(*)</span></td>
          </tr>
          <tr>
            <td class="align_der">
			<div id="eversion" style="display:block" class="texto"><strong>Versi&oacute;n:</strong></div>
            <div id="eversion_error" style="display:none" class="texto_rojo"><strong>Versi&oacute;n:</strong></div> </td>
            <td class="align_izq"><input name="version" type="text" id="version" size="26" maxlength="30" />
              <span class="gris_peque">(*)</span></td>
          </tr>
          <tr>
            <td class="align_der">
			<div id="eprecio" style="display:block" class="texto"><strong>Precio:</strong></div>
            <div id="eprecio_error" style="display:none" class="texto_rojo"><strong>Precio:</strong></div> </td>
            <td class="align_izq"><input name="precio" type="text" id="precio" size="26" maxlength="6" />
              <span class="gris_peque">(*) (Num&eacute;rico, en &euro;-Euros. ej: 20000).</span></td>
          </tr>
          <tr>
            <td class="align_der">
			<div id="epotencia" style="display:block" class="texto"><strong>Potencia:</strong></div>
            <div id="epotencia_error" style="display:none" class="texto_rojo"><strong>Potencia:</strong></div> </td>
            <td class="align_izq"><input name="potencia" type="text" id="potencia" size="26" maxlength="3" /> 
              <span class="gris_peque">(*) (Num&eacute;rico, en cv. ej: 125).</span></td>
          </tr>
          <tr>
            <td class="align_der"><div id="ecombustible" style="display:block" class="texto"><strong>Combustible:</strong></div></td>
            <td class="align_izq"><select name="combustible" id="combustible">
                <option value ="Gasolina">Gasolina</option>
                <option value ="Diesel">Diesel</option>
                <option value ="Etanol">Etanol</option>
                <option value ="Electrico">Electrico</option>
                <option value ="Gas">Gas</option>
                <option value ="Hibrido">Hibrido</option>
                <option value ="Hidrogeno">Hidrogeno</option>
                <option value ="Otro">Otro</option>
              </select>
                <span class="gris_peque"> (*)</span></td>
          </tr>
          <tr>
            <td class="align_der">
			<div id="epuertas" style="display:block" class="texto"><strong>Num. Puertas:</strong></div>
            <div id="epuertas_error" style="display:none" class="texto_rojo"><strong>Num. Puertas:</strong></div> </td>
            <td class="align_izq"><input name="puertas" type="text" id="puertas" size="26" maxlength="1" />
              <span class="gris_peque">(*) (Num&eacute;rico,  ej: 4).</span></td>
          </tr>
          <tr>
            <td class="align_der"><div id="eplazas" style="display:block" class="texto"><strong>Plazas:</strong></div>
                <div id="eplazas_error" style="display:none" class="texto_rojo"><strong>Plazas:</strong></div></td>
            <td class="align_izq"><input name="plazas" type="text" id="plazas" size="26" maxlength="1" />
                <span class="gris_peque">(*) (Num&eacute;rico,  ej: 4).</span></td>
          </tr>
          <tr>
            <td class="align_der"><div id="ecambio" style="display:block" class="texto"><strong>Cambio:</strong></div></td>
            <td class="align_izq"><select name="cambio" id="cambio">
                <option value ="Manual">Manual</option>
                <option value ="Automatico">Automatico</option>
              </select>
                <span class="gris_peque">(*)</span></td>
          </tr>
          <tr>
            <td class="align_der">
			<div id="efecha_mat" style="display:block" class="texto"><strong>Fecha de Matriculaci&oacute;n:</strong></div>
            <div id="efecha_mat_error" style="display:none" class="texto_rojo"><strong>Fecha de Matriculaci&oacute;n:</strong></div> </td>
            <td class="align_izq">
			<select name="meses" id="h1" class="contenedor" >
				<option value=""></option>
			  </select>
              <span class="texto"> / </span>
              <select name="anos" id="h2" class="contenedor" >
				<option value=""></option>
			  </select>
              <span class="gris_peque">(*)</span></td>
          </tr>
          <tr>
            <td class="align_der">
			<div id="ekm" style="display:block" class="texto"><strong>Km:</strong></div>
            <div id="ekm_error" style="display:none" class="texto_rojo"><strong>Km:</strong></div> </td>
            <td class="align_izq"><input name="km" type="text" id="km" size="26" maxlength="7" />
              <span class="gris_peque">(*) (Num&eacute;rico,  en Km. ej: 190000).</span></td>
          </tr>
          <tr>
            <td valign="top" class="align_der" style="padding-bottom:30px">
			<div id="eobservaciones" style="display:block" class="texto"><strong>Observaciones:</strong></div>
            <div id="eobservaciones_error" style="display:none" class="texto_rojo"><strong>Observaciones:</strong></div> </td>
            <td valign="top" class="align_izq" style="padding-bottom:30px"><textarea name="observaciones" cols="26" rows="4" id="observaciones"></textarea>
              <span class="gris_peque">(*) (M&aacute;x. 900 caracteres). </span></td>
          </tr>
          <tr>
            <td class="align_der">
			<div id="eimagen" style="display:block" class="texto"><strong>Im&aacute;genes:</strong></div>
            <div id="eimagen_error" style="display:none" class="texto_rojo"><strong>Im&aacute;genes:</strong></div>
            </td>
            <td class="align_izq">
            	
              <span class="gris_peque">(9 im<strong>&aacute;</strong>genes  max. de 1Mb en .jpg).<span class="texto_mediano_gris"><a name="ancla_img" id="ancla_insert"></a></span></span></td>
          </tr>
          <tr>
            <td class="align_der">&nbsp;</td>
            <td class="align_izq">
            	<div id="files" class="texto_link" style="padding-right: 200px"></div>
                <span class="gris_peque">
                	<a href="#ancla_insert" onclick="addField()" accesskey="5" class="texto_azul_link">&laquo; A&ntilde;adir Imagen &raquo;</a>
                </span>
            </td>
          </tr>
      </table></td>
    </tr>
    <tr>
      <td style="padding-top:15px; padding-right:5px; padding-bottom:5px" class="align_der"><span class="align_izq" style="padding-top:15px">
        <input name="submit" type="submit" id="submit" value="Guardar Ficha" />
      </span></td>
    </tr>
    <tr>
      <td style="padding-top:15px; padding-right:5px; padding-bottom:5px" class="align_der"><strong><a href="http://www.forosdelweb.com/f13/index.php" target="_self" class="texto_link">Ir a WebSite</a> | <a href="admin.php" target="_self" class="texto_link">Ir a Panel de Administraci&oacute;n</a></strong></td>
    </tr>
  </table>
</form>
</div> 
  #14 (permalink)  
Antiguo 28/09/2011, 14:01
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Problema con validacion Field

veamos si funciona ahora
Cita:
<script language="javascript">
function valida_nueva_ficha(locualo)
{
for(m=0;m<locualo.length;m++)
{
if((locualo[m].type== "file") && (locualo[m].value != ""))
{
if(locualo[m].value.substring(locualo[m].value.length-3,locualo[m].value.length).toLowerCase() != "jpg")
{
alert("Debes insertar sólo archivos de tipo jpg")
return false
break
}
}
else
{
continue
}

}
}









var numero = 0;
*
// Funciones comunes
c= function (tag) { // Crea un elemento
* *return document.createElement(tag);
}
d = function (id) { // Retorna un elemento en base al id
* *return document.getElementById(id);
}
e = function (evt) { // Retorna el evento
* *return (!evt) ? event : evt;
}
f = function (evt) { // Retorna el objeto que genera el evento
* *return evt.srcElement ? *evt.srcElement : evt.target;
}
*
addField = function () {
* * if(numero<9)
* * {
* * * *container = d('files');
* * * *
* * * *span = c('SPAN');
* * * *span.className = 'file';
* * * *span.id = 'file' + (++numero);
* *
* * * *field = c('INPUT'); *
* * * *field.name = 'archivos[]';
* * * *field.type = 'file';
* * * *
* * * *a = c('A');
* * * *a.name = span.id;
* * * *a.href = '#ancla_insert';
* * * *a.onclick = removeField;
* * * *a.className = 'texto_azul_link';
* * * *a.innerHTML = '&laquo; Quitar';
* *
* * * *span.appendChild(field);
* * * *span.appendChild(a);
* * * *container.appendChild(span);
* * }
}
removeField = function (evt) {
* *lnk = f(e(evt));
* *span = d(lnk.name);
* *span.parentNode.removeChild(span);
* *
* *numero--;
}

</script>
  #15 (permalink)  
Antiguo 28/09/2011, 14:06
Avatar de nolose  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 165
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: Problema con validacion Field

Ese post lo vi por ahi... pero en locualo tengo que poner archivos ¿no? :S:S
y por lo tanto debe de ser igual que lo que yo tengo:

Código Javascript:
Ver original
  1. for(m=0;m<archivos.length;m++)
  2.     {
  3.                 if(archivos[m].type== "file")
  4.                 {
  5.                       if(archivos[m].value.substring(archivos[m].value.length-3,archivos[m].value.length).toLowerCase() != "jpg")
  6.                       {
  7.                             alert("Debes insertar sólo archivos de tipo jpg");
  8.                        }
  9.             }  
  10.     }
  #16 (permalink)  
Antiguo 28/09/2011, 14:08
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Problema con validacion Field

no, no toques nada. copia y pega
  #17 (permalink)  
Antiguo 28/09/2011, 14:24
Avatar de nolose  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 165
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: Problema con validacion Field

Permite que me quite el sombrero y solo me queda decir... CHAPÓ y MIL GRACIAS.


No entiendo como no he podido darme cuenta antes... de verdad mil gracias por todo, eres un crack!!!!


:)

Etiquetas: field, funcion, html, js
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 00:54.