Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Validar campos javascript

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Javascript
Mensaje Mar Jul 03, 2007 9:06 am
marcosss
Perlero Nuevo
Perlero Nuevo
Registrado: 14 May 2007
Mensajes: 87
Validar campos javascript Responder citando

¡Hola! Estoy haciendo un proyecto con php, mysql y javascript, y estoy validando los formularios, y algunos objetos de algunos formularios los tengo hechos de forma 'dinámica' con javascript y no sé cómo validarlos. El ejemplo en código es el siguiente, con este código se crean nuevos ámbitos, y para cada ámbito se crea su nombre y el número de horas:


Código:
<script type="text/javascript">

num=0;
function crearAmbito(obj) {
  num++;
          //Creamos los datos del area
 
  fi = document.getElementById('fiel');
  contenedor = document.createElement('div');
  contenedor.id = 'div'+num;
  fi.appendChild(contenedor);

  txt = document.createElement('<br>');            // Meto un salto de línea
  contenedor.appendChild(txt);
 
  txt = document.createElement('<br>');            // Meto un salto de línea
  contenedor.appendChild(txt);
 
 
  txt = document.createTextNode('Nombre del ámbito: ');         //Creamos el modulo   
  ele = document.createElement('input');
  ele.type = 'text';
  ele.size='40';
  ele.name = 'cNombreAmbito'+num;
  contenedor.appendChild(txt);
  contenedor.appendChild(ele);

  txt = document.createElement('<br>');            // Meto un salto de línea
  contenedor.appendChild(txt);
 
  txt = document.createElement('<br>');            // Meto un salto de línea
  contenedor.appendChild(txt);

  txt = document.createTextNode('  Horas del ámbito: ');         //Creamos las horas del modulo
  ele = document.createElement('input');
  ele.type = 'text';
  ele.name = 'cHorasAmbito'+num;
  ele.size='5';
  contenedor.appendChild(txt);
  contenedor.appendChild(ele);
  txt = document.createElement('<br>');            // Meto un salto de línea
  contenedor.appendChild(txt);
  txt = document.createElement('<br>');            // Meto un salto de línea
  contenedor.appendChild(txt);
   
  ele = document.createElement('input');
  ele.type = 'button';
  ele.value = 'Borrar';
  ele.name = 'div'+num;
  ele.onclick = function () {borrar(this.name)}
  contenedor.appendChild(ele);
 
}
function borrar(obj) {
  fi = document.getElementById('fiel');
  fi.removeChild(document.getElementById(obj));
}
</script>




Me gustaría saber cuál es la forma para validar los nombres y número de horas de los ámbitos. Muchas gracias
Mensaje Mar Jul 03, 2007 11:34 am
kidd
Creador de Perl en Español
Creador de Perl en Español
Registrado: 15 Oct 2003
Mensajes: 1390
Ubicación: México
Responder citando

Debes de nombar cada ambito con un id único, de esa manera cuando pasas al PHP puedes saber que campos son de que ámbito y así poderlos comparar.
Mensaje Mie Jul 04, 2007 2:53 am
marcosss
Perlero Nuevo
Perlero Nuevo
Registrado: 14 May 2007
Mensajes: 87
Responder citando

No, pero yo no quiero validar en PHP, lo quiero hacer en javascript, con una función del estilo:


Código:

//Validamos un campo tipo texto
function validaTexto(campo,nombreCampo){
  var ubicacion
  var enter = "\n"   //Los caracteres válidos son:
  var caracteres = "abcdefghijklmnopqrstuvwxyzñ1234567890 ABCDEFGHIJKLMNOPQRSTUVWXYZÑáéíóúÁÉÍÓÚºª/¿?()%'!¡-+*.,;:" + String.fromCharCode(13) + enter

  var contador = 0
  for (var i=0; i < campo.length; i++) {
    ubicacion = campo.substring(i, i + 1)
    if (caracteres.indexOf(ubicacion) != -1) {
      contador++
    } else {
      alert("ERROR en el "+nombreCampo+": No se acepta el caracter '" + ubicacion + "'.")
      return false
    }
  }
}


Y a esta función, para validar algo la llamo:

Código:
 if (f.cNombre.value!="")
  if (validaTexto(f.cNombre.value, 'Nombre')==false)
     return(false);


Pero es que de la forma que creo el ámbito en javascript no sé como llamarlo para que el valor se valide en la función validaTexto

¿entendéis lo que quiero decir?
Publicar nuevo tema   Responder al tema    Foros de discusión -> Javascript Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group