Récuperer valeur sql dans champs dynamiques

Claudiane -  
Alain_42 Messages postés 5413 Statut Membre -
Bonjour,

je suis en train de travailler sur un formulaire avec champs ajoutés dynamiquement, jusque là ça va, mais lors de l'édition du formulaire je voudrais que les champs soient remplis avec leur valeur

voila le code jusqu'à maintenant

code.js
var c,c2,ch;
 
// ajouter un champ avec son "name" propre;
function addfields(){
c=document.getElementById('fielddiv');
c2=c.getElementsByTagName('input');
ch=document.createElement('input');
 
ch.setAttribute('type','text');
ch.setAttribute('name','options_champs[]'); 
ch.setAttribute("size", "30");
ch.setAttribute('style','margin-bottom:5px;');
c.appendChild(ch);
 
document.getElementById('sup').style.display='inline';
}
 
// supprimer le dernier champ;
function delfields(){
if(c2.length>0){c.removeChild(c2[c2.length-1])}
if(c2.length==0){document.getElementById('sup').style.display='none'};
}


code formulaire.php
$lines = explode("/", $this->getVar('liste_champ'));//Récupère les valeurs des champs dans la bdd

//si dans la bdd (valeur/valeur1/valeur2/valeur3), le champ "valeur" et "valeur 1" est bien rempli, mais les deux autres champs non
<div style="margin-bottom:5px"><input type="text" id="options_champs_0" name="options_champs[0]" size="30" value="' .$lines[0] .'"/></div>
        <div style="margin-bottom:5px"><input type="text" id="options_champs_1" name="options_champs[1]" size="30" value="' .$lines[1] .'"/></div>
		<div id="fielddiv" style="width:200px">
		</div>
		<p>
		<input type="button" value="_AM_PUBLISHER_FORMADDVALEURS" onclick="addfields()" />
		<input type="button" style="display:none" id="sup" value="_AM_PUBLISHER_FORMDELVALEURS" onclick="delfields()" />
		</p>


Là je cale et je n'arrive pas à trouver comment faire ?

3 réponses

Alain_42 Messages postés 5413 Statut Membre 894
 
déja il faut mettre en php la partie value=
sinon en html la variable ne sera pas interprétée
ou alors il manque un bout de code et cette partie est écrite avec un echo ??

<?php
$lines = explode("/", $this->getVar('liste_champ'));//Récupère les valeurs des champs dans la bdd

//si dans la bdd (valeur/valeur1/valeur2/valeur3), le champ "valeur" et "valeur 1" est bien rempli, mais les deux autres champs non
?>
<div style="margin-bottom:5px"><input type="text" id="options_champs_0" name="options_champs[0]" size="30" value="<?php echo $lines[0]; ?>"/></div>
        <div style="margin-bottom:5px"><input type="text" id="options_champs_1" name="options_champs[1]" size="30" value="<?php echo $lines[1]; ?>"/></div>
		<div id="fielddiv" style="width:200px">
		</div>
		<p>
		<input type="button" value="_AM_PUBLISHER_FORMADDVALEURS" onclick="addfields()" />
		<input type="button" style="display:none" id="sup" value="_AM_PUBLISHER_FORMDELVALEURS" onclick="delfields()" />
		</p>


par contre le champ rajouté en javascript sera forcément vide
0
Claudiane
 
bonjour Alain_42

les variables $lines[0] et $lines[1] sont bien interprétées sans rajouter d'echo

par contre , y aurait il un moyen de rajouter une fonction java qui afficherait les autres champs enregistrés si il y en a ?
0
Alain_42 Messages postés 5413 Statut Membre 894
 
ça c'est fort des variables php dans une partie HTML ? bon

sinon y aurait il un moyen de rajouter une fonction java qui afficherait les autres champs enregistrés si il y en a ?

tu veux dire java ou javascript ?

il existe une possibilité pour interroger le serveur sans recharger la page: AJAX qui est une fonctionnalité javascript
0