Formulaire dynamiquement liée

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Formulaire dynamiquement liée

Re: Formulaire dynamiquement liée

par ghost5922 » 26 avr. 2013, 14:55

BOnjour,

désolé j'ai vite fais cela

en faite a chaque changement de choix du select on appelle la page php qui nous retour les résultat et derniere avec jquery on découpe la chaine retourne et on modifie la valeur des inputs par celle retourne je t'ai laisse mon skype au besoin

Re: Formulaire dynamiquement liée

par Black Vampire » 26 avr. 2013, 14:40

Bien jouer :)


C'est exactement ce que je voulais même si je ne voit pas trop bien comment sa fonctionne on est vendredi ^^ ,

Merci a toi !

Re: Formulaire dynamiquement liée

par ghost5922 » 26 avr. 2013, 14:32

Bonjour,

Je vous ai fourni dans mon message presedent une solution qui marche test DEMO

Re: Formulaire dynamiquement liée

par Black Vampire » 26 avr. 2013, 13:23

Je test sa dés maintenant :)

Re: Formulaire dynamiquement liée

par ghost5922 » 26 avr. 2013, 12:52

Bonjour,

Voila un exemple

page formulaire :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script src="mlst.js"></script>
</head>

<body>
<form>
<select name="mlst" id="mLst">
	<option value="1">Test 1</option>
    <option value="2">Test 2</option>
</select><br />


<input type="text" name="adresse" id="adresse" /><br />
<input type="text" name="adresse2" id="adresse2" /><br />
<input type="text" name="contact" id="contact" /><br />
<input type="text" name="tel" id="tel" /><br />
<input type="text" name="marque" id="marque" /><br />
<input type="text" name="modele" id="modele" /><br />
<input type="text" name="ip" id="ip" /><br />
<input type="text" name="pass" id="pass" /><br />
</form>
</body>
</html>

Page JS "mlst.js" :

[javascript]$(document).ready(function () {
$("#mLst").change(function(){
var valeur=$('#mLst').val();// on recupere la valeur du select id
$.ajax({
type: "POST",
data: {"mLst" : valeur},
url: "./mlst.php",
success:function(data){
var infos=data.split("|");//j'imagine que php me r'envois les infosmations separer par "|"

if (infos[0]) {//on verifie si la variable n'est pas vide
$("#adresse").val(infos[0]); // on ajoute les infos au champ id adresse
}
if (infos[1]) {//on verifie si la variable n'est pas vide
$("#adresse2").val(infos[1]); // on ajoute les infos au champ id adresse2
}
if (infos[2]) {//on verifie si la variable n'est pas vide
$("#contact").val(infos[2]); // on ajoute les infos au champ id adresse2
}
if (infos[3]) {//on verifie si la variable n'est pas vide
$("#tel").val(infos[3]); // on ajoute les infos au champ id adresse2
}
if (infos[4]) {//on verifie si la variable n'est pas vide
$("#marque").val(infos[4]); // on ajoute les infos au champ id adresse2
}
if (infos[5]) {//on verifie si la variable n'est pas vide
$("#modele").val(infos[5]); // on ajoute les infos au champ id adresse2
}
if (infos[6]) {//on verifie si la variable n'est pas vide
$("#ip").val(infos[6]); // on ajoute les infos au champ id adresse2
}
if (infos[7]) {//on verifie si la variable n'est pas vide
$("#pass").val(infos[7]); // on ajoute les infos au champ id adresse2
}
}
});
});
});



[/javascript]


Page Php "mlst.php"
<?php
$idMlst=(int)$_POST['mLst'];

switch ($idMlst){
	
	
	case"1":
		echo'111 rue ...||contact|060000000|Sonx|Mod|127.0.0.1|192.168.1.1';	
	break;
	case"2":
		echo'222 rue ...||ghost|030803000|Mar|toto|127.0.0.1|192.168.1.1';	
	break;	
	
	default;
        //adresse|adresse2|contact|telephone|marque|modele|ip|passe
	echo'|||||||';
}

?>

Re: Formulaire dynamiquement liée

par Black Vampire » 26 avr. 2013, 12:41

Alors la c'est vrais que je debute en PHP alors jquerry c'est vrais qu'un peu d'aide ne me ferait pas de mal

Re: Formulaire dynamiquement liée

par ghost5922 » 26 avr. 2013, 12:34

Bonjour,

Perso je passerai par Jquery pour récupérer les informations et les ajoutes au champs texte en question

par exemple un onchange sur mLst puis avec jquery on envoi l'id list a un fichier php qui traite et retourne un tableau que tu peux assigne a chaque champs

si tu as besoin d'aide je d'aiderai pour coder un peux

après il a le json que je ne maîtrise pas :)

Formulaire dynamiquement liée

par Black Vampire » 26 avr. 2013, 12:00

Bonjour,

Voila je suis dans une impasse j'aimerais que a partir d'une List Box que je sélectionne cela me pré-remplisse 5 champs

En gros je sélectionne une société et sa me complète sont Adresse sont Numéro de Téléphone son IP etc enfin 5 champs et que je puisse modifier après

Image

Je voudrais remplacer le premier par une listbox et que sa pré remplisse

J'ai trouver sa comme code mais il y a que 3 possibilité :


Can you help me ?

Merci

Code : Tout sélectionner

<script type="text/javascript"> function setInputText() { var mylist=document.getElementById("mLst") document.getElementById("txt"). value=mLst.options[mLst.selectedIndex].text document.getElementById("num"). value=mLst.options[mLst.selectedIndex].value document.getElementById("name"). value=mLst.options[mLst.selectedIndex].label } </script> <form> Select option: <select id="mLst" onchange="setInputText()"> <option value="1" label="lab1">txt1</option> <option value="2" label="lab2">txt2</option> <option value="3" label="lab3">txt3</option> <option value="4" label="lab4" >txt4</option> </select> <br />The text is: <input type="text" id="txt" size="20"> <br />The value is: <input type="text" id="num" size="20"> <br />The name is: <input type="text" id="name" size="20"> <br />The test is: <input type="text" id="test" size="20"> </form>