Perl en Español

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

Validar JavaScript

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Javascript
Mensaje Mie Jul 18, 2007 2:47 am
marcosss
Perlero Nuevo
Perlero Nuevo
Registrado: 14 May 2007
Mensajes: 87
Validar JavaScript Responder citando

¿Se podría validar este código, pero incluyendo todo en un sólo formulario en vez de en tres?

Es que no consigo hacerlo

HTML:
<html><head>
<title>Ejemplo</title>
<script type="text/javascript"> 
num=0; 
function crearAmbito(obj) { 
  num++; 
             //Creamos los datos del area 
   
  fi = document.getElementById(obj.form.id);   
  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,obj.form.id)}   
  contenedor.appendChild(ele);   
   

function borrar(obj,idfrm) { 
  fi = document.getElementById(idfrm);   
  fi.removeChild(document.getElementById(obj));   

function validar(frm) {
    var iEls=frm.elements.length;
    for (var i=0; i<iEls; i++) {
        var o=frm.elements[i];
        if (o.name.substring(1,2)=="H") {
            alert("Valido las horas "+o.name);
        }
        else if (o.name.substring(1,2)=="N") {
            alert("Valido el nombre "+o.name);
        }
    }
}
</script>
 
</head>
<body>
<fieldset>
<form onsubmit="return false" id="fiel">
<table border="1" width="100%">
    <tr>
        <th><input type="button" value="Crear en este fieldset" name="B3" onclick="crearAmbito(this)"></th>
        <th><input type="button" value="Validar este fieldset" name="B3" onclick="validar(this.form)"></th>
    </tr>
</table>
</form>
</fieldset>
<fieldset>
<form onsubmit="return false" id="fie2">
<table border="1" width="100%">
    <tr>
        <th><input type="button" value="Crear en este fieldset" name="B3" onclick="crearAmbito(this)"></th>
        <th><input type="button" value="Validar este fieldset" name="B3" onclick="validar(this.form)"></th>
    </tr>
</table>
</form>
</fieldset>
<fieldset>
<form onsubmit="return false" id="fie3">
<table border="1" width="100%">
    <tr>
        <th><input type="button" value="Crear en este fieldset" name="B3" onclick="crearAmbito(this)"></th>
        <th><input type="button" value="Validar este fieldset" name="B3" onclick="validar(this.form)"></th>
    </tr>
</table>
</form>
</fieldset>
</body>
</html>

Muchas gracias
Mensaje Mie Jul 18, 2007 12:24 pm
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4091
Ubicación: Valladolid, España
Responder citando

Pues... sería metiendo todos los <input> dentro de un <form>, dándoles un 'name' distinto a cada uno de ellos...

Por lo que veo en la función de validar está buscando por todos los elementos del formulario y buscando que en sus nombres, en el segundo carácter, sean iguales a "H" o "M". Pero en los formularios que estoy viendo, todos tienen de nombre "B3". Algo está mal.
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