Récuperer valeur sql dans champs dynamiques

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

  • Votes
  • Date
  • Date décroissante
  1. 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
    1. 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 ?
      1. ç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