Re: Champs obligatoire dans un formulaire | Titre du sujet : Re: Champs obligatoire dans un formulaire par jbnet sur 17/12/2009 17:19:14
Re-bonjour !
Juste pour partager ce que j'ai eu du mal à trouver. Comment vérifier qu'un choix a été fait dans une liste déroulante.
Pré-requis : Le premier item de la liste des éléments de la liste dans la base SQL doit avoir un id égal à 1
// Création de la liste
$list = new XoopsFormSelect(_DT_LABEL_LISTE . " :", 'int_liste_1', null , 1 , false);
// Creation de la requete SQL issue d'une classe
$sql_list = $dbquery->retrieve_liste_1();
// Ajout de l'item 0 qui doit être changé
$list->addOption(0, "--------");
// Boucle de remplissage de la liste
while ( list($list_id, $list_name) = $xoopsDB->fetchRow($sql_list) ) {
$list->addOption($list_id, $list_name);
}
// Récupere le nom de la liste
$eltname = $list->getName();
// Création du message d'erreur
$eltmsg = str_replace('"', '"', stripslashes(sprintf(_DT_ERROR_MSG)));
// Ajout du code de validation
// On verifie que l'item 0 n'est pas sélectionné
$list->customValidationCode[] = "if ( myform.{$eltname}.selectedIndex == 0 ) { window.alert("{$eltmsg}"); myform.{$eltname}.focus(); return false; }";
// Ajout de l'élément au formulaire
$form->addElement($list, true);
|
|