:master: ho voluto provare anch'io perchè mi pare in fondo, interessante, seguendo però un aproccio diverso.
Ossia, il pulsante e la select lanciano tutte e due la procedura ShowHide.
Questa procedura, per sapere cosa fare, deve conoscere chi l'ha lanciata: o il pulsante o la select, nel nostro caso, e si comporta in conseguenza.
Perciò, la procedura viene lanciata aggiungendo il parametro event, come da esempio:
<button onclick="ShowHide(event, 'show1',********
e,
<select name="autore" id="autore" onchange="ShowHide(event, ****);">
la procedura, fa:
vedi se può essere utilecodice:function ShowHide(e,id1,id2,id_se1) { //accedo all'oggetto event if(!e) var e = window.event; var target = (e.target)?e.target:e.srcElement; if(target.tagName.toUpperCase() == "BUTTON" ) { if(document.getElementById) { el1 = document.getElementById(id1); el2 = document.getElementById(id2); se1 = document.getElementById(id_se1); if(el1.style.display == "none") { el1.style.display = "block"; el2.style.display = "none"; se1.disabled = false; } else { el1.style.display = "none"; el2.style.display = "block"; se1.disabled = true; } } } else if(target.tagName.toUpperCase() == "SELECT" ) { var valore_select = target.value; document.getElementById("show1").disabled = valore_select != ""; } }![]()

