formulaire - recharger sans perdre les infos

Eléphant du PHP | 164 Messages

29 déc. 2012, 10:40

Bonjour,

Dans l'idée : un formulaire avec plusieurs champs à remplir. Il y en a un qui a un autocomplete (jquery) + une icone [+] à côté dans le cas où le mot n'est pas enregistré. Ce lien [+] ouvre un popup permettant d'ajouter le champ manquant, validation, bouton de fermeture ... et là je voudrais qu'il me recharge uniquement la liste de mots pour l'autocomplete, sans perdre les informations déjà entrées dans le formulaire.

Est ce possible sans faire trop de solutions abracadabrantes ?
Merci d'avance

Mammouth du PHP | 2278 Messages

29 déc. 2012, 11:14

A vue de truffe en chocolat thailandais:
$valeur = (isset($_POST['valeur'])) ? $_POST['valeur']: "";
print"
<input ..... value ='$valeur'>";
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Eléphant du PHP | 164 Messages

29 déc. 2012, 12:12

humm suis pas sûr de comprendre ...

Mammouth du PHP | 2278 Messages

29 déc. 2012, 18:22

Au lieu d'écrire:
<?PHP
$chaine ="<form ....>
<input type ='text' value='' />
...
</form>";
print "$chaine";
écrire
<?PHP
$valeur = (isset($_POST['valeur'])) ? $_POST['valeur'] : "";
$chaine ="<form ....>
<input type ='text' value='$valeur' />
...
</form>";
print "$chaine";
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Eléphant du PHP | 164 Messages

03 janv. 2013, 11:46

Oui ça veut dire "si la valeur existe, l'afficher"
Mais ce n'est pas ce qu'il me faut. Mettons que j'ai un grand formulaire à remplir. L'un des champs contient A,B,C,D mais moi pas de bol il me faut le E qui n'existe pas. Je clique alors sur le petit [+] juste à côté de ma liste déroulante qui ouvre un popup me permettant d'ajouter le champ E. Quand je valide ce champ E je veux qu'il apparaisse dans la liste déroulante de mon formulaire sans que tout ce que j'ai déjà rempli ne soit effacé.

Merci pour votre aide.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

03 janv. 2013, 12:48

salut,


validation et affichage sur la même page et tu utilise les infos dans $_POST (si elle existe comme l'indique sirakawa).

Tu peux le faire avec deux script mais dans ce cas je te conseil de mettre le tableau $_POST dans une variable de session pour le ré employer sur la page formulaire (avec le même principe de pour le 1er cas sauf qu'en plus tu test l’existence de l'index dans la variable de session :) ).

ce qui a été saisie sera "pré remplis" dans le formulaire.

@+
Il en faut peu pour être heureux ......

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

03 janv. 2013, 18:56

Ou bêtement en javascript depuis la popup... un truc du genre :
[javascript]var field = window.opener.nom_du_formulaire.nom_du_select;
field.options[field.length] = new Option("Le Libellé", "La valeur");[/javascript]

En remplaçant libellé et valeur par les appels javascript qui vont bien pour lire les données saisies...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...