No soy tan nuevo en el mundo de la programación web, pero si en el mundo de Javascript y la verdad espero que me puedan dar una manito con este problema que me tiene de cabeza () el mundo...
cuento corto, estoy realizando un sistema en donde el usuario debe realizar una búsqueda de facturas y/o productos agrícolas en particular, la idea es que cuando el escoja la opción "productos" se habilite la lista de "categoría" y bloquee los radio-buttons y sus inputs, ademas del select de "proveedor".
por otro lado, cuando el escoja la opcion "factura" se habiliten los radio-buttons y sus inputs y bloquear la lista de "categoria".
inicialmente todo debe de estar inhabilitado y una vez escogida una opción se comience a jugar con los otros menús.
Ah! por último... no se si se podría hacer tambien que cuando uno escoja un radio-button su (o sus) input se desbloqueen y bloqueen los otros inputs.
bueno, les dejo el codigo que tengo, que debe de contener mas de algun error...
gracias
Código HTML:
<html> <h3 class="art-postheader"><center>Búsqueda de ítems específicos (Ej.: facturas, semillas, fertilizantes, etc.)</center></h3> <br /> <!-- article-content --> <form name='buscador'> CRITERIO: <select name='criterio' onchange="funcion(this, this.form);"> <option value="0" selected="selected">---</option> <option value="1">PRODUCTO</option> <option value="2">FACTURA</option> </select> CATEGORÍA: <select name='cat_crit' disabled="disabled"> <option value="1">TODOS</option> <option value="2">SEMILLAS</option> <option value="3">FERTILIZANTES</option> <option value="4">MAQUINARIAS</option> <option value="5">INSECTICIDAS</option> <option value="6">PESTICIDAS</option> </select> <br /><br /> <input type="radio" name="cri_fact" value="num_factura" habilita(this.form)">NÚMERO: <input type="text" size="10" maxlength="10" name="num_factura" disabled="disabled"/> <input type="radio" name="cri_fact" value="mes" onClick="habilita(this.form)">MES: <input type="text" size="2" maxlength="2" name="mes" disabled="disabled"/> AÑO: <input type="text" size="4" maxlength="4" name="anio" disabled="disabled"/> <input type="radio" name="cri_fact" value="proveedores" onClick="habilita(this.form)">PROVEEDOR: <select name="proveedores" disabled="disabled"> <option value="0" selected="selected">TODOS</option> <option value="1">PROVEEDOR 1</option> <option value="2">PROVEEDOR 2</option> <option value="3">PROVEEDOR 3</option> <option value="4">PROVEEDOR 4</option> </select> <br /><br /> <center> <input class="art-button" type="button" value="Buscar" /> </center> </form> <!-- /article-content --> </html>
eso es el formulario...
el codigo javascript que tengo es el siguiente...
para el bloqueo de los selects
Código HTML:
function funcion( th, thF ){
var elementosArray = [ "cat_crit", "cri_fact", "num_factura", "mes", "anio", "proveedores" ];
if( Number( th.options[ th.selectedIndex ].value ) == 1 ){
thF[ elementosArray[0] ].disabled = false;
thF[ elementosArray[1] ].disabled = true;
}
if( Number( th.options[ th.selectedIndex ].value ) == 2 ){
thF[ elementosArray[0] ].disabled = true;
for(var i=1;i<elementosArray.length;i++){
if( Number( th.options[ th.selectedIndex ].value ) > 0 )
thF[ elementosArray[i] ].disabled = false;
}
/*else{
thF[ elementosArray[0] ].disabled = false;
thF[ elementosArray[1] ].disabled = false;
}*/
}
Código HTML:
function habilita(){ document.buscador.num_factura.disabled = false; } function deshabilita(){ document.buscador.cri_fact.disabled = true; document.buscador.cri_fact.value = ""; }