Foros del Web » Programando para Internet » Javascript »

Ayuda con input text en array

Estas en el tema de Ayuda con input text en array en el foro de Javascript en Foros del Web. Buenas amigos del foro, soy un novato programando con javascript; y mi problema es el siguiente: Expongo un ejemplo: JavaScript @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : ...
  #1 (permalink)  
Antiguo 25/09/2010, 16:28
 
Fecha de Ingreso: septiembre-2010
Mensajes: 5
Antigüedad: 13 años, 6 meses
Puntos: 0
Ayuda con input text en array

Buenas amigos del foro, soy un novato programando con javascript; y mi problema es el siguiente:

Expongo un ejemplo:
JavaScript
Código Javascript:
Ver original
  1. <script>
  2. function validar(form){
  3.     var patron = /(^[a-zA-Z]{4})([0-9]{7})$/;
  4.     var valor = document.getElementById('contenedor[]').value;
  5.     if(valor.match(patron)){
  6.         document.getElementById('contenedor[]').style.color="#008B00";
  7.         return true;
  8.     }else {
  9.         document.getElementById('contenedor[]').style.color="#FF0000";
  10.          alert('Numero de contenedor invalido');
  11.     }
  12. }
  13. </script>

Formulario
Código HTML:
Ver original
  1. <form id="formInsert" name="formInsert" method="post" action="procesador.php">
  2. <p><input name="contenedor[]" type="text" class="mayuscula" id="contenedor[]" size="14" maxlength="11" onblur="validar(this)" /></p>
  3. <p><input name="contenedor[]" type="text" class="mayuscula" id="contenedor[]" size="14" maxlength="11" onblur="validar(this)" /></p>
  4. <input name="submit"  type="submit">
  5. </form>

Mi problema es que solo me valida el primer input text, el siguiente input text no lo valida, si alguien me puede ayudar por favor
  #2 (permalink)  
Antiguo 25/09/2010, 16:39
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Ayuda con input text en array

Hola

Algo rápido. Asigna a cada campo una id distinta. En vez de usar this, usa this.id. Ahora la función, cambia esto
Cita:
var valor = document.getElementById('contenedor[]').value;
por esto
Cita:
var valor = document.getElementById(frm).value;
en vez de usar match usa test y por último quita el return true, no hsy nada que devolver

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 25/09/2010, 21:00
 
Fecha de Ingreso: septiembre-2010
Mensajes: 5
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Ayuda con input text en array

Adler lo hice como me dijistes y aun no me valida, aca te dejo el codigo

Código HTML:
Ver original
  1. <html>
  2. <head>
  3. <title>pagina1.php</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <style type="text/css">
  6. body,td,th {
  7.     font-family: Calibri;
  8.     font-size: 12px;
  9. }
Código PHP:
Ver original
  1. <?php $cantidad = 4;?>
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. function validarContenedorM(form){
  3.     var patronContenedorM = /(^[a-zA-Z]{4})([0-9]{7})$/;
  4.     var valor = document.getElementById('contenedor[]').value;
  5.     if(valor.test(patronContenedorM)){
  6.         document.getElementById('contenedor[]').style.color="#008B00";
  7.     }else {
  8.         document.getElementById('contenedor[]').style.color="#FF0000";
  9.          alert('Numero de contenedor invalido');
  10.     }
  11. }
  12. </script>
Código HTML:
Ver original
  1. </head>
  2.  
  3. <form action="" method="post" name="form1" id="form1">
Código PHP:
Ver original
  1. <?php for($i=0;$i<=$cantidad-1;$i++){ ?>
Código HTML:
Ver original
  1. <p>
  2.     <label>Contenedor
  3.       <input type="text" name="contenedor[]" id="contenedor[<?php echo $i;?>]" onBlur="validarContenedorM(this.id)">
  4.     </label>
  5.   </p>
Código PHP:
Ver original
  1. <?php }?>
Código HTML:
Ver original
  1. <p>
  2.     <input type="submit" name="button" id="button" value="Enviar">
  3.   </p>
  4. </form>
  5. </body>
  6. </html>
  #4 (permalink)  
Antiguo 26/09/2010, 06:10
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Ayuda con input text en array

Hola

Poco de lo que te dije has hecho
Cita:
<script type="text/javascript">
function validarContenedorM(obj, val){
if(/(^[a-zA-Z]{4})([0-9]{7})$/.test(val)){
document.getElementById(obj).style.color="#008B00" ;
}else {
document.getElementById(obj).style.color="#FF0000" ;
alert('Numero de contenedor invalido');
}
}
</script>


<input type="text" name="contenedor[]" id="contenedor<?php echo $i;?>" onBlur="validarContenedorM(this.id, this.value)">
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 26/09/2010, 12:46
 
Fecha de Ingreso: septiembre-2010
Mensajes: 5
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Ayuda con input text en array

asi lo he puesto y no me funciona:

Código HTML:
Ver original
  1. <html>
  2. <head>
  3. <title>pagina1.php</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <style type="text/css">
  6. body,td,th {
  7.     font-family: Calibri;
  8.     font-size: 12px;
  9. }
  10. <?php $cantidad = 4;?>
Código Javascript:
Ver original
  1. <script src="js/validaciones.js" type="text/javascript">
  2. function validarContenedorM(obj, val){
  3.     if(/(^[a-zA-Z]{4})([0-9]{7})$/.test(val)){
  4.         document.getElementById(obj).style.color="#008B00" ;
  5.     }else {
  6.         document.getElementById(obj).style.color="#FF0000" ;
  7.         alert('Numero de contenedor invalido');
  8.     }
  9. }
  10. </script>
Código HTML:
Ver original
  1. </head>
  2.  
  3. <form action="" method="post" name="form1" id="form1">
  4. <?php for($i=0;$i<=$cantidad-1;$i++){ ?>
  5.   <p>
  6.     <label>Contenedor
  7.       <input type="text" name="contenedor[]" id="contenedor[<?php echo $i;?>]" onBlur="validarContenedorM(this.id, this.value)">
  8.     </label>
  9.   </p><?php }?>
  10.   <p>
  11.     <input type="submit" name="button" id="button" value="Enviar">
  12.   </p>
  13. </form>
  14. </body>
  15. </html>

De verdad te agresco la ayuda que me estas brindano, solo te pido un poco de paciencia por que de verdad estoy muy nuevo con javascript.
  #6 (permalink)  
Antiguo 26/09/2010, 12:50
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Ayuda con input text en array

Hola

Estás cargando un archivo externo y una tienes una función interna, por lo tanto sería así
Cita:
<script src="js/validaciones.js" type="text/javascript">
<script type="text/javascript">
function validarContenedorM(obj, val){
Un consejo, usa una consola de errores, por ejemplo FireBug de FF, te hará la vida mas sencilla

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #7 (permalink)  
Antiguo 26/09/2010, 13:10
 
Fecha de Ingreso: septiembre-2010
Mensajes: 5
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Ayuda con input text en array

Me pase! :$ tienes toda la razon, ya esta funcionando, muchisimas gracias adler; demas esta decirte que estoy a tu order, PHP o MySQL. Nuevamente muchas gracias
  #8 (permalink)  
Antiguo 26/09/2010, 15:10
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Ayuda con input text en array

Hola
Cita:
Iniciado por Laymont Ver Mensaje
Me pase! :$ tienes toda la razon, ya esta funcionando, muchisimas gracias adler; demas esta decirte que estoy a tu order, PHP o MySQL. Nuevamente muchas gracias
Se agradece
Una puntualización, no es necesario tratar las id como array, no sacas ninguna ventaja
Cita:
<input type="text" name="contenedor[]" id="contenedor<?php echo $i;?>" onBlur="validarContenedorM(this.id, this.value)">
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Etiquetas: input, txt
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 09:34.