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:
La parte in php della checkbox è la seguente: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>
Riassumendo il mo problema avviene solamente quando si spunta manualmente nella checkbox,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 } ?>
mentre quando si seleziona un oggetto da una pagina all'altra i campi personalizzati vengono mostrati in maniera esatta.

Rispondi quotando
