Salve a tutti, ho un problema con una funzione, o meglio vorrei risparmiare un pò di codice perchè ho tre funzioni che fanno pressappoco la stessa cosa, ve le illustro:
function abituale(){
var elem = document.getElementById("ab");
var datiguida = document.getElementById("datiguida");
var nuovaguida = document.getElementById("nuovaguida");
var guidadefault = document.getElementById("guidadefault");
var opz = document.getElementById("selguida");
if(elem.checked == true){
guidadefault.style.visibility = "visible";
guidadefault.style.display = "block";
datiguida.style.visibility = "hidden";
datiguida.style.display = "none";
nuovaguida.style.visibility = "hidden";
nuovaguida.style.display = "none";
opz.disabled = true;
}
}
function nuovaguida(){
var elem = document.getElementById("ng");
var nuovaguida = document.getElementById("nuovaguida");
var guidadefault = document.getElementById("guidadefault");
var datiguida = document.getElementById("datiguida");
var opz = document.getElementById("selguida");
if(elem.checked == true){
nuovaguida.style.visibility = "visible";
nuovaguida.style.display = "block";
guidadefault.style.visibility = "hidden";
guidadefault.style.display = "none";
datiguida.style.visibility = "hidden";
datiguida.style.display = "none";
opz.disabled = true;
}
}
function selguida(){
var elem = document.getElementById("dg");
var nuovaguida = document.getElementById("nuovaguida");
var guidadefault = document.getElementById("guidadefault");
var datiguida = document.getElementById("datiguida");
var opz = document.getElementById("selguida");
if(elem.checked == true){
datiguida.style.visibility = "visible";
datiguida.style.display = "block";
guidadefault.style.visibility = "hidden";
guidadefault.style.display = "none";
nuovaguida.style.visibility = "hidden";
nuovaguida.style.display = "none";
opz.disabled = false;
}
}
Nella pagina php ho tre input radio:
<input type="radio" id="ab" name="guida" value="abituale" checked onclick="abituale();"/>Abituale
<input type="radio" id="dg" name="guida" value="seleziona" onclick="attivasel();"/>
<input type="radio" id="ng" name="guida" value="nuova" onclick="nuovaguida();"/>
Ho tre div, a seconda del radio cliccato deve comparire il div associato ad esso, le prime sei istruzioni di tutte e tre le funzioni sono identiche, avevo pensato di passare alla funzione tutti gli id di cui ho bisogno, più o meno in questo modo:
<input type="radio" id="ng" name="guida" value="nuova" onclick="nuovaguida(ng,nuovaguida,guidadefault,dat iguida,selguida);"/>
e la funzione così:
function nuovaguida(ng,nuovaguida,guidadefault,datiguida,se lguida){
var elem = document.getElementById(ng);
..............
.........
}
e così via....
solo che al primo misero tentativo..il mio elem all'interno della funzione è null, c'è un modo preciso per passare i valori in questo modo? Ho provato tra apici, doppi apiici, senza apici,this.id,this ma niente..non funziona, se lascio le funzioni così come sono, la pagina funziona tranquillamente, solo che domani ho l'esame e il professore pretende massimo risparmio di codice..quindi vorrei "accontentarlo"
Vi ringrazio in anticipo!
Saluti