Ver Mensaje Individual
  #8 (permalink)  
Antiguo 08/01/2008, 12:39
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: Recoger array de textbox para validar

Hola:

Para empezar tienes mal construído el HTML: Un elemento <table> no puede tener de hijo un <div>. Sólo un <td> puede tener elementos de bloque como <div>. Si empezamos con un HTML bien formado nos ahorraremos complicaciones.

También es bueno saber que en el atributo action tiene que colocarse una url, no códigos de script. Así hacemos al código accesible. En onsubmit colocaremos el código cliente.

Comprueba ésto: a mi me ha funcionado:
Código PHP:
<form action="ventas.php?a=pack_actualizar" onsubmit="return verificar_tallas_colores()" name="frm_pack_cantidad" id="frm_pack_cantidad" method="post">
    <
table id="padre">
        <
tr>
            <
td>Talla -> xx</td>
            <
td><input type="text" name="tal_45_24"  class="input_texto" style="text-align:center" maxlength="2" size="10" onkeypress="return validar_campos(event,/^([0-9])$/)" /></td>   
        </
tr>
        <
tr>
            <
td>Talla -> xx</td>
            <
td><input type="text" name="tal_22_1"  class="input_texto" style="text-align:center" maxlength="2" size="10" onkeypress="return validar_campos(event,/^([0-9])$/)" /></td>   
        </
tr>
        <
tr>
            <
td>Talla -> xx</td>
            <
td><input type="text" name="tal_89_23"  class="input_texto" style="text-align:center" maxlength="2" size="10" onkeypress="return validar_campos(event,/^([0-9])$/)" /></td>   
        </
tr>
        <
tr>
            <
td>Talla -> xx</td>
            <
td><input type="text" name="tal_7_6"  class="input_texto" style="text-align:center" maxlength="2" size="10" onkeypress="return validar_campos(event,/^([0-9])$/)" /></td>   
        </
tr>
    </
table>
    <
button type="submit">Envia</button>
</
form>



<
script type="text/javascript">
<!--

function 
validar_campos() {
    return 
true;
}

function 
verificar_tallas_colores(){
    for (var 
i=0eleele document.getElementById("padre").getElementsByTagName("input")[i]; i++)
        if (
ele.value == '') {
            
alert('No puede haber campos vacíos');
            return 
false;
        }
    return 
true;
}


// -->
</script> 
Un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.