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 (
![Decabeza](http://static.forosdelweb.com/fdwtheme/images/smilies/decabeza.png)
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 = ""; }
![Apenado](http://static.forosdelweb.com/fdwtheme/images/smilies/redface.png)
![Apenado](http://static.forosdelweb.com/fdwtheme/images/smilies/redface.png)
![Apenado](http://static.forosdelweb.com/fdwtheme/images/smilies/redface.png)
![Apenado](http://static.forosdelweb.com/fdwtheme/images/smilies/redface.png)
![Apenado](http://static.forosdelweb.com/fdwtheme/images/smilies/redface.png)
![Apenado](http://static.forosdelweb.com/fdwtheme/images/smilies/redface.png)
![Apenado](http://static.forosdelweb.com/fdwtheme/images/smilies/redface.png)
![Apenado](http://static.forosdelweb.com/fdwtheme/images/smilies/redface.png)