Eliminazione di una consultazione
Inviato: sab mag 07, 2011 11:18 am
Ho provato ad eliminare una consultazione (non solo voti e votanti, ma anche candidati e struttura), e vedo che non vengono ripulite le tabelle ELE_CIRCOSCRIZIONE e ELE_SEDE.
Visto che sto eliminando anche la struttura, in queste due tabelle dovrebbero essere eliminati i record per i quali il campo ID_CONS è uguale alla consultazione autorizzata che sto eliminando.
Non è un problema se i dati rimangono (tanto non saranno mai utilizzati, visto che anche in caso di una successiva ri-autorizzazione verrà assegnato un ID_CONS incrementale e sicuramente diverso da quello appena eliminato), però per la pulizia del DB sarebbe meglio ripulire anche queste due tabelle.
Ho anche notato che, con Internet Explorer, non riesco ad eliminare DEFINITIVAMENTE la consultazione, a causa di un errore di Javascript che appare quando vado nella sezione "Consultazione" (del menu del Superuser).
Ho riprodotto l'errore su un semplice file HTML, il codice è questo:
Suppongo che il problema sia dovuto al fatto che viene utilizzato il termine "do" come nome di un campo del form.
Probabilmente "do" è una parola riservata, e l'interprete Javascript di Internet Explorer non digerisce il fatto che venga utilizzata come nome di un campo.
L'errore si verifica anche usando altre parole riservate (ad esempio, "if"), mentre cambiando il nome del campo con un nome "di fantasia" l'errore sparisce.
Infine ricordo di aver letto un post in cui si lamentava il fatto che, con Internet Explorer, il pulsante "Modifica" non si trasforma in "Elimina" quando si mette il segno di spunta su "Abilita la cancellazione".
Il problema è dovuto al fatto che la funzione del_cons() viene richiamata sull'evento "onChange" della casella, e il valore della casella - per Internet Explorer - cambia solo quando questa perde il focus (ad esempio, se si preme TAB per passare al campo successivo, oppure si clicca col mouse in un qualsiasi altro punto della pagina).
Sostituendo, nella riga 135 di "ele_consultazioni.php", "onchange" con "onClick", la funzione del_cons() verrà richiamata ogni volta che si clicca sulla casella, e quindi il valore del pulsante risulterà sempre aggiornato anche quando si usa Internet Explorer.
Visto che sto eliminando anche la struttura, in queste due tabelle dovrebbero essere eliminati i record per i quali il campo ID_CONS è uguale alla consultazione autorizzata che sto eliminando.
Non è un problema se i dati rimangono (tanto non saranno mai utilizzati, visto che anche in caso di una successiva ri-autorizzazione verrà assegnato un ID_CONS incrementale e sicuramente diverso da quello appena eliminato), però per la pulizia del DB sarebbe meglio ripulire anche queste due tabelle.
Ho anche notato che, con Internet Explorer, non riesco ad eliminare DEFINITIVAMENTE la consultazione, a causa di un errore di Javascript che appare quando vado nella sezione "Consultazione" (del menu del Superuser).
Ho riprodotto l'errore su un semplice file HTML, il codice è questo:
Codice: Seleziona tutto
<html>
<body>
<form name="prova">
<input type=text name="update" value="1"><br>
<input type=text name="do" value="2"><br>
</form>
<script Language="Javascript">
document.prova.update.value="Uno"
document.prova.do.value="Due"
</script>
</body>
</html>
Probabilmente "do" è una parola riservata, e l'interprete Javascript di Internet Explorer non digerisce il fatto che venga utilizzata come nome di un campo.
L'errore si verifica anche usando altre parole riservate (ad esempio, "if"), mentre cambiando il nome del campo con un nome "di fantasia" l'errore sparisce.
Infine ricordo di aver letto un post in cui si lamentava il fatto che, con Internet Explorer, il pulsante "Modifica" non si trasforma in "Elimina" quando si mette il segno di spunta su "Abilita la cancellazione".
Il problema è dovuto al fatto che la funzione del_cons() viene richiamata sull'evento "onChange" della casella, e il valore della casella - per Internet Explorer - cambia solo quando questa perde il focus (ad esempio, se si preme TAB per passare al campo successivo, oppure si clicca col mouse in un qualsiasi altro punto della pagina).
Sostituendo, nella riga 135 di "ele_consultazioni.php", "onchange" con "onClick", la funzione del_cons() verrà richiamata ogni volta che si clicca sulla casella, e quindi il valore del pulsante risulterà sempre aggiornato anche quando si usa Internet Explorer.