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

  1. Alain_42 Messages postés 5413 Statut Membre 904
     
    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
  2. 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
  3. Alain_42 Messages postés 5413 Statut Membre 904
     
    ç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