Problema in inserimento candidati
Inviato: sab mag 14, 2011 8:32 am
Ho notato che, quando si inseriscono i candidati delle liste, se ci si dimentica di selezionare la lista dalla casella a discesa e si clicca su "Aggiungi", il candidato viene aggiunto ma poi non è più possibile eliminarlo:
- nella parte client, quando si apre la pagina che mostra tutti i candidati, questo candidato è presente, ma i loghi della lista e del candidato presidente non vengono mostrati;
- nella parte admin, quando si vanno a rivedere/modificare i candidati, questo candidato non si riesce a trovare in alcun modo.
L'unica possibilità per eliminare il candidato errato è quella di entrare nel DB e, nella tabella "ele_candidati", cercare (e cancellare) quello che ha il campo id_lista = 0.
Per evitare che venga inserito un candidato con id_lista =0 (ma comunque legato ad una consultazione, e quindi visibile nel front-end) potrebbe essere sufficiente mettere una funzione Javascript sull'evento "onSubmit" del form di aggiunta del candidato, che verifichi se è stata scelta o meno una lista.
Io ho provato ad aggiungere questo script nel file "ele_candidato.php":
e ho modificato la riga in cui viene aperto il form, aggiungendo l'evento "onSubmit":
In questo modo, se l'operatore - magari per la fretta o per distrazione - si dimentica di selezionare la lista (soprattutto nei casi in cui si è appena aperta la pagina, e nella casella a discesa non c'è alcun valore selezionato) il programma si rifiuta di procedere.
- nella parte client, quando si apre la pagina che mostra tutti i candidati, questo candidato è presente, ma i loghi della lista e del candidato presidente non vengono mostrati;
- nella parte admin, quando si vanno a rivedere/modificare i candidati, questo candidato non si riesce a trovare in alcun modo.
L'unica possibilità per eliminare il candidato errato è quella di entrare nel DB e, nella tabella "ele_candidati", cercare (e cancellare) quello che ha il campo id_lista = 0.
Per evitare che venga inserito un candidato con id_lista =0 (ma comunque legato ad una consultazione, e quindi visibile nel front-end) potrebbe essere sufficiente mettere una funzione Javascript sull'evento "onSubmit" del form di aggiunta del candidato, che verifichi se è stata scelta o meno una lista.
Io ho provato ad aggiungere questo script nel file "ele_candidato.php":
Codice: Seleziona tutto
<script language="Javascript">
<!--
function presenza_lista() {
if (!document.candidato2.id_lista.value) {
alert("Devi scegliere una lista.");
document.candidato2.id_lista.focus();
return false;
}
return true;
}
//-->
</script>
Codice: Seleziona tutto
echo "<form name=\"candidato2\" action=\"admin.php\" onSubmit=\"return presenza_lista();\">"