Salve a tutti, il mio problema è il seguente.

Nella mia prima pagina del sito, è presente uno script in php contenente 3 immagini (A, B e C), rappresentanti tre prodotti: cliccando su una di queste tre immagini, l'utente viene proiettato alla pagina successiva, nella quale vi è una checkbox contenente i nomi dei prodotti e dei campi per l'inserimento di dati.

Naturalmente, se l'utente clicca sul prodotto B verrà mandato alla pagina successiva contente il prodotto B già selezionato all'interno della checkbox. Inoltre, per ogni prodotto appariranno dei campi diversi. Fino a qua nessun problema.

Quello ke non riesco a capire è come mai selezionando manualmente nella seconda pagina i prodotti all'interno della checkbox (qundi non selezionando il prodotto dalla prima pagina) i campi non cambino. la funzione in Javascript è la seguente:

codice:
<script language="JavaScript" type="text/javascript">
<!--
	function Update_MoreFields() {

		mainfield = document.getElementById('pr3');
		morefield = document.getElementById('serial');
		trfield1 = document.getElementById('serial'+'_morefield_1');
		trfield2 = document.getElementById('serial'+'_morefield_2');
		
		if (mainfield && morefield && trfield1 && trfield2) {
			if (mainfield.checked) {
				trfield1.style.display = (document.all && !window.opera)?'block':'table-row';
				trfield2.style.display = (document.all && !window.opera)?'block':'table-row';
				
			} else {
				trfield1.style.display = 'none';
				trfield2.style.display = 'none';
				morefield.value = '';
			};
		};

	};
	Update_MoreFields();
-->
</script>

Questa funzione dovrebbe essere richiamata con la selezione del prodotto 'pr3'. I campi aggiuntivi per il prodotto sono:
codice:
<tr id="serial_morefield_1" style="display:none;">
                  <td nowrap="nowrap"><font size="-1">Old serial:

                    [/b]</font></td>
                  <td width="212" height="40" nowrap="nowrap" style="border-color:#009999; background-color:#EBFEEC;"> 
                    <font size="-1"> 
                    <input name="serial" type="text" class="form" id="serial" size="27" maxlength="50" />

                     </font></td>
                  <td width="10"><font size="-1"></font></td>
                  <td width="235"><font size="-1"></font></td>
                </tr>

                <tr id="serial_morefield_2" style="display:none;"> 
					<td colspan="1"></td>
                  <td colspan="3" class="SmallHint">^ This 
                    is the serial of your old version: It is only necessary if you are purchasing the new! </td>
                </tr>
La parte in php della checkbox è la seguente:

codice:
				<input type="checkbox" name="pr<?php echo $n; ?>" id="pr<?php echo $n; ?>" value="1" <?php echo $checked; ?> onClick="Update_AlternativeProducts('pr<?php echo $n; ?>', '<?php echo $prCode; ?>');CalculateTotal();Update_MoreFields();" />

                <td><font size="-1"><?php echo $prTitle; ?></font></td>
                <td align="right"><font size="-1"></font></td>
                <td align="right"><font size="-1"><?php echo $prPrice; ?></font></td>
                <td align="right"><font size="-1"></font></td>
                <td align="right"><font size="-1"><?php echo $prQuantity; ?></font></td>
                <td align="right"><font size="-1"></font></td>
                <td align="right"><font size="-1"><?php echo $nettotal; ?></font></td>
              </tr>
<?php if ($prDetails != '') { ?>
			  <tr>
                <td></td>
                <td class="SmallHint"><?php echo $prDetails; ?></td>
                <td align="right"><font size="-1"></font></td>
                <td align="right"></td>
                <td align="right"><font size="-1"></font></td>
                <td align="right"></font></td>
                <td align="right"><font size="-1"></font></td>
                <td align="right"><font size="-1"></font></td>
              </tr>
<?php } ?>
Riassumendo il mo problema avviene solamente quando si spunta manualmente nella checkbox,
mentre quando si seleziona un oggetto da una pagina all'altra i campi personalizzati vengono mostrati in maniera esatta.