VegetaSSJ5
30-01-2008, 22:01
PROBLEMA RISOLTO!
Boh il titolo non è che spieghi molto, ma non ho saputo fare di meglio... :D
Preambolo:
Ho una tabella con dei campi per un form.
Nella tabella ci sono ad un certo punto 2 radiobutton: se si seleziona il primo (selezionato per default) non accade nulla. Se si seleziona il secondo appare una sottotabella con dei dati aggiuntivi (partita iva eccetera per un'azienda). Questo comportamento viene realizzato con una piccola funzione javascript che modifica dinamicamente (in base al pulsante selezionato) le proprietà css della sottotabella facendola visualizzare o meno.
Passiamo al problema:
Con Firefox 2.0.0.11 funziona bene, cioè quando premo il secondo radiobutton mi appare la sottotabella, quando seleziono il primo la sottotabella scompare.
Con IE7 non funziona bene. Quando premo il secondo radiobutton non succede nulla. Se poi clicco su un altro punto della pagina web allora compare la sottotabella. Stessa cosa per farla scomparire.
Magari se lo testate personalmente capirete meglio il problema, cmq mi pare proprio strano questo comportamento con IE7.
Incollo il codice completo della pagina.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it">
<head>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" />
<script src="compra_online.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
function EnableDisableTabPOPUP (RadioSelected) {
var tabPOPUP = document.getElementById("tabPOPUP");
if (RadioSelected.value == "PRIVATO") {
tabPOPUP.style.display= "none";
}
else {
tabPOPUP.style.display= "";
}
}
</script>
</head>
<body>
<table id="Tab_Compra_Online" width="490" style="margin-left: auto; margin-right: auto;">
<tr><td class="field_name">Nome</td>
<td><input type="text" id="nome" name="nome" maxlength="100" size="30" /></td></tr>
<tr><td class="field_name">Cognome</td>
<td><input type="text" id="cognome" name="cognome" maxlength="100" size="30" /></td></tr>
<tr><td class="field_name">E-Mail</td>
<td><input type="text" id="email" name="email" size="30" maxlength="100" /></td></tr>
<tr><td class="field_name" valign="top">Indirizzo</td>
<td><input type="text" id="indirizzo1" name="indirizzo1" size="30" maxlength="100" /><br />
<input type="text" id="indirizzo2" name="indirizzo2" size="30" maxlength="100" style="margin-top: 3px;" /><br /></td></tr>
<tr><td class="field_name">Città</td>
<td><input type="text" id="citta" name="citta" size="30" maxlength="100" /></td></tr>
<tr><td class="field_name">Provincia</td>
<td><input type="text" id="prov" name="prov" size="30" maxlength="100" /></td></tr>
<tr><td class="field_name">CAP</td>
<td><input type="text" id="cap" name="cap" size="7" maxlength="5" /></td></tr>
<tr><td class="field_name">Privato o Azienda?</td>
<td>Privato <input type="radio" value="PRIVATO" id="PRIVATO_radio" name="radiolist1" checked="checked" onchange="javascript: EnableDisableTabPOPUP(this);" /> Azienda <input type="radio" value="AZIENDA" id="AZIENDA_radio" name="radiolist1" onchange="javascript: EnableDisableTabPOPUP(this);" /></td></tr>
</table>
<table id="tabPOPUP" width="490" style="display: none; margin-left: auto; margin-right: auto;">
<tr><td class="field_name">P. IVA</td>
<td><input type="text" id="PIVA" name="PIVA" size="13" maxlength="11" /> </td></tr>
<tr><td class="field_name">Indirizzo di fatturazione</td>
<td><input type="text" id="ind_fatt" name="ind_fatt" size="30" maxlength="100" /></td></tr>
</table>
<table id="Tab_Compra_Online_Footer" width="490" style="margin-left: auto; margin-right: auto;">
<tr><td class="field_name">Note<br />Comunicazioni particolari</td>
<td><textarea cols="30" rows="5" name="note" id="note" style="border: 1px solid #6E7B8B; font: 100% Verdana, sans-serif;"></textarea></td></tr>
<tr><td colspan="2" style="text-align: center;"><input value="Invia i tuoi dati" name="submit" type="submit" style="background-color: white;" /></td></tr>
</table>
</body>
</html>
Boh il titolo non è che spieghi molto, ma non ho saputo fare di meglio... :D
Preambolo:
Ho una tabella con dei campi per un form.
Nella tabella ci sono ad un certo punto 2 radiobutton: se si seleziona il primo (selezionato per default) non accade nulla. Se si seleziona il secondo appare una sottotabella con dei dati aggiuntivi (partita iva eccetera per un'azienda). Questo comportamento viene realizzato con una piccola funzione javascript che modifica dinamicamente (in base al pulsante selezionato) le proprietà css della sottotabella facendola visualizzare o meno.
Passiamo al problema:
Con Firefox 2.0.0.11 funziona bene, cioè quando premo il secondo radiobutton mi appare la sottotabella, quando seleziono il primo la sottotabella scompare.
Con IE7 non funziona bene. Quando premo il secondo radiobutton non succede nulla. Se poi clicco su un altro punto della pagina web allora compare la sottotabella. Stessa cosa per farla scomparire.
Magari se lo testate personalmente capirete meglio il problema, cmq mi pare proprio strano questo comportamento con IE7.
Incollo il codice completo della pagina.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it">
<head>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" />
<script src="compra_online.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
function EnableDisableTabPOPUP (RadioSelected) {
var tabPOPUP = document.getElementById("tabPOPUP");
if (RadioSelected.value == "PRIVATO") {
tabPOPUP.style.display= "none";
}
else {
tabPOPUP.style.display= "";
}
}
</script>
</head>
<body>
<table id="Tab_Compra_Online" width="490" style="margin-left: auto; margin-right: auto;">
<tr><td class="field_name">Nome</td>
<td><input type="text" id="nome" name="nome" maxlength="100" size="30" /></td></tr>
<tr><td class="field_name">Cognome</td>
<td><input type="text" id="cognome" name="cognome" maxlength="100" size="30" /></td></tr>
<tr><td class="field_name">E-Mail</td>
<td><input type="text" id="email" name="email" size="30" maxlength="100" /></td></tr>
<tr><td class="field_name" valign="top">Indirizzo</td>
<td><input type="text" id="indirizzo1" name="indirizzo1" size="30" maxlength="100" /><br />
<input type="text" id="indirizzo2" name="indirizzo2" size="30" maxlength="100" style="margin-top: 3px;" /><br /></td></tr>
<tr><td class="field_name">Città</td>
<td><input type="text" id="citta" name="citta" size="30" maxlength="100" /></td></tr>
<tr><td class="field_name">Provincia</td>
<td><input type="text" id="prov" name="prov" size="30" maxlength="100" /></td></tr>
<tr><td class="field_name">CAP</td>
<td><input type="text" id="cap" name="cap" size="7" maxlength="5" /></td></tr>
<tr><td class="field_name">Privato o Azienda?</td>
<td>Privato <input type="radio" value="PRIVATO" id="PRIVATO_radio" name="radiolist1" checked="checked" onchange="javascript: EnableDisableTabPOPUP(this);" /> Azienda <input type="radio" value="AZIENDA" id="AZIENDA_radio" name="radiolist1" onchange="javascript: EnableDisableTabPOPUP(this);" /></td></tr>
</table>
<table id="tabPOPUP" width="490" style="display: none; margin-left: auto; margin-right: auto;">
<tr><td class="field_name">P. IVA</td>
<td><input type="text" id="PIVA" name="PIVA" size="13" maxlength="11" /> </td></tr>
<tr><td class="field_name">Indirizzo di fatturazione</td>
<td><input type="text" id="ind_fatt" name="ind_fatt" size="30" maxlength="100" /></td></tr>
</table>
<table id="Tab_Compra_Online_Footer" width="490" style="margin-left: auto; margin-right: auto;">
<tr><td class="field_name">Note<br />Comunicazioni particolari</td>
<td><textarea cols="30" rows="5" name="note" id="note" style="border: 1px solid #6E7B8B; font: 100% Verdana, sans-serif;"></textarea></td></tr>
<tr><td colspan="2" style="text-align: center;"><input value="Invia i tuoi dati" name="submit" type="submit" style="background-color: white;" /></td></tr>
</table>
</body>
</html>