Ciao a tutti, sono uno studente d'informatica, stiamo iniziando ora a studiare js... Sono 2 ore ormai che sto sbattendo la testa su un problema...
codice:
<div id="elabora">
<form name="liv1" onSubmit="indirizza()">
<input type="radio" value="b" name="a1" >B
<input type="radio" value="p" name="a1" >P
<input type="radio" value="pe" name="a1" >Pe
<input type="submit" value="Avanti">
</form>
</div>
<script>
// Contenuti div
var divFormB = '
testo </p>
'+
' <form name="liv2" onSubmit="indirizza2()">'+
' <input type="radio" value="a" name="a2" >a
'+
' <input type="radio" value="b" name="a2" >b
'+
' <input type="radio" value="c" name="a2" >c
'+
' <input type="radio" value="d" name="a2" >d
'+
' <input type="radio" value="e" name="a2" >e
'+
' <input type="radio" value="f" name="a2" >f
'+
' <input type="radio" value="g" name="a2" >g
'+
' <input type="radio" value="h" name="a2" >h
'+
' <input type="radio" value="i" name="a2" >i
'+
' <input type="submit" value="Avanti">'
var divFormP = "boh"
var divFormPe = "boh2"
// funzioni cambio contenuti div
var divFormFirst = document.getElementById("elabora");
function indirizza(){
for (c = 0; c < liv1.a1.length; c++){
if (liv1.a1[c].checked){
if (liv1.a1[c].value == "b")
divFormFirst.innerHTML = divFormB;
if (liv1.a1[c].value == "p")
divFormFirst.innerHTML = divFormP;
if (liv1.a1[c].value == "pe")
divFormFirst.innerHTML = divFormPe;
}
}
}
function indirizza2(){
for (c = 0; c < liv2.a2.length; c++){
if (liv2.a2[c].checked){
if (liv2.a2[c].value == "a")
window.location = 'linksito';
if (liv2.a2[c].value == "b")
window.location = 'linksito';
if (liv2.a2[c].value == "c")
window.location = 'linksito';
if (liv2.a2[c].value == "d")
window.location = 'linksito';
if (liv2.a2[c].value == "e")
window.location = 'linksito';
if (liv2.a2[c].value == "f")
window.location = 'linksito';
if (liv2.a2[c].value == "g")
window.location = 'linksito';
if (liv2.a2[c].value == "h")
window.location = 'linksito';
if (liv2.a2[c].value == "i")
window.location = 'linksito';
}
}
}
</script>
Il tutto per non far ricaricare la pagina ad ogni submit.
In pratica genero un form di radio button nel div "elabora". Al submit abilito una funzione (indirizza()) che modifica il contenuto del div generando un altra lista di radio button.
Quest'ultimo form viene elaborato dalla seconda funzione ma non applica il reindirizzamento della pagina.
La console non segna alcun errore, dove ho sbagliato?
EDIT: ho cambiato il titolo, non ho letto della chiusura per i titoli generici!