cs_seabird
Messages postés27Date d'inscriptionmercredi 19 novembre 2003StatutMembreDernière intervention27 mars 2007
-
4 déc. 2005 à 20:50
cs_seabird
Messages postés27Date d'inscriptionmercredi 19 novembre 2003StatutMembreDernière intervention27 mars 2007
-
6 déc. 2005 à 00:18
Salut a tous ,
J'ai un petit soucis que je n'arrive pas à résoudre. En effet j'envois un formulaire par mail qui contient plusieurs champs et 2 listes déroulantes liées .
Tout marche convenablement. Cependant avant d'envoyer le formulaire je fais un test pour savoir si il n'y pas un champ vide. Si c'est le cas je reviens en arrière pour qu'il soit complété avec un history.back() . Le problème c'est que la deuxième liste déroulante qui dépend donc de la première liste se vide à chaque fois. Je ne vois pas trop comment faire pour que cela ne soit pas le cas. J'utilise ce code pour les listes.
<SCRIPT language="JavaScript">
<!--
function choix(form) {
i = form.rubrique.selectedIndex;
if (i == 0) {
for (i=0;i<4;i++) {
form.page.options[i].text="";
}
return;
}
form.page.selectedIndex = 0;
switch (i) {
case 1 : var txt = new Array ('cat1 -dep 1','cat2 -dep 1','cat3 -dep 1'); break;
case 2 : var txt = new Array ('cat1 -dep 2','cat2 -dep 2','cat3 -dep 2'); break;
case 3 : var txt = new Array ('cat1 -dep 3','cat2 -dep 3','cat3 -dep 3'); break;
}
form.page.options[0].text="--- Choisissez une Catégorie ---";
for (i=0;i<3;i++) {
form.page.options[i+1].text=txt[i];
}
}
// -->
</script>
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 5 déc. 2005 à 13:37
Hello,
typiquement, ça va se faire avec des
if (isset ($_POST['nom_champ']) && !empty ($_POST['nom_champ'])) {
// tu mets la valeur de ton $_POST ou la valeur par défaut si le $_POST n'existe pas
}
cs_seabird
Messages postés27Date d'inscriptionmercredi 19 novembre 2003StatutMembreDernière intervention27 mars 2007 5 déc. 2005 à 23:14
Salut,
$_POST['nom_champ'] m'a fait réfléchir. J'ai donc abandonné la méthode history.back() pour retourner au formulaire en cas de champ vide.
Je repasse maintenant les variables rentrées dans le formulaire par l'url en cas de champ vide par la commande:
window.location="formulaire.php?nom=$nom&url=$url&commentaire=$commentaire"
et je recupère les données écrites précédemment dans les champs par : $nom = $_GET["nom"]; etc....
Tout marche correctement , sauf que si jamais je rentre des retours chariot dans commentaire qui est un Textarea et que je reviens en arrière en cas d'oubli d'un champ par : window.location="formulaire.php?nom=$nom&url=$url&commentaire=$commentaire"
, j'ai une erreur.
J'ai donc essayer de faire: $commentaire=str_replace(chr(13),"",$commentaire) pour supprimer les retours chariots de la variable commentaire, mais l'erreur persiste. Je ne vois pas pourquoi ?