Jsp dans du Javascript(page dynamique)

Résolu/Fermé
sipatsymasaka Messages postés 99 Date d'inscription vendredi 1 octobre 2010 Statut Membre Dernière intervention 28 novembre 2014 - Modifié par sipatsymasaka le 9/12/2011 à 07:28
sipatsymasaka Messages postés 99 Date d'inscription vendredi 1 octobre 2010 Statut Membre Dernière intervention 28 novembre 2014 - 9 déc. 2011 à 13:02
Salut!
Ma page doit être impérativement dynamique; quand je clique sur un bouton "rajouter", il m'appelle la fonction suivante, et ça marche, c'est complique mais ca marche, la fonction recueill1fo(this) aussi marche très bien, je commence a dominer ce dynamisme. :)
Mais mon problème c'est que je devrait charger les <option> a partir d'une base de donees, donc il me faut une boucle en jsp, alors comment devrai-je insérer cette boucle dans mon javascript ou comment modifier mon code pour arriver a mon but?

voici mon code:
function newMED()
{    
          var target 		= document.getElementById('Account_1');
          var newdiv 		= document.createElement('div');
          var newdivname	= 'Div' + counter;
          newdiv.setAttribute('id',newdivname);
          
          var i= document.getElementById('stok').value; 
          i=parseInt(i);
          document.getElementById('stok').value=i+1;
          content = newdiv.innerHTML;
          content += "<table cellpadding=\"6\" cellspacing=\"10\" border=\"2\" width=\"1000\"><tr><td>"
          content +="N*"+i+"<br><br>        NC:";
          content +='<select type="text" name="NC['+i+']" id="NC['+i+']" onChange="recueill1fo(this);">';
          content+='<option selected>Faites un choix<//option>';
          content +='<option value="USD">USD<//option>';
          content +='<option value="EUR">EUR<//option>';
          content +='<option value="GBP">GBP<//option>';
          content +='<option value="JPY">JPY<//option>';
          content +='<option value="HKD">HKD<//option>';
          content +='<option value="CHF">tokny alaina avy any @base<//option>';
          content +='</select>';
          content+="<br><input type='button' value='ok' id='"+i+"' onclick='recueill1fo(this);' >";
          content +="</td><td><table><tr><td>       Forme:";
          content +="</td><td><input type='text' name='Forme["+i+"]' id='Forme["+i+"]' size='20'>";
          content +="</td></tr><tr><td>       Presentation:";
          content +="</td><td><input type='text' name='Pres["+i+"]' id='Pres["+i+"]' size='20'>";
          content +="</td></tr><tr><td>Mode de prise:";
          content +="</td><td><input type='text' name='Mode["+i+"]' id='Mode["+i+"]' size='20'>";
          content +="</td></tr><tr><td>Posologie(x g/y kg/y jr):";
          content +="</td><td><input type='text'  maxlength='4' size='1' name='Masse["+i+"]' id='Masse["+i+"]' size='3'>";
          content +="<input type='text'  maxlength='3' size='1' name='MasseU["+i+"]' id='MasseU["+i+"]' size='3'>";//Select
          content +="<input type='text'  maxlength='3' size='1' name='poi["+i+"]' id='poi["+i+"]' size='3'>";
          content +="<input type='text'  maxlength='3' size='1' name='poiU["+i+"]' id='poiU["+i+"]' size='3'>";//Select
          content +="<input type='text'  maxlength='4' size='1' name='par["+i+"]' id='par["+i+"]' size='3'>";
          content +="<input type='text'  maxlength='3' size='1' name='parU["+i+"]' id='parU["+i+"]' size='3'>";//Select
          content +="</td></tr><tr><td>Pendant:";
          content +="</td><td><input type='text'  maxlength='3' size='1' name=Pdt["+i+"]' id='Pdt["+i+"]' size='3'>";
          content +="<input type='text'  maxlength='4' size='1' name=PdtU["+i+"]' id='PdtU["+i+"]' size='3'>";//Select
          content +="</td></tr></table></td><td>Quantite a delivrer:";
          content +="<input type='text' name='Quant["+i+"]' id='Quant["+i+"]' size='20'>";
          content +="</td></tr></table>"
          //content +='<a id="AccountDelete" href="#" onclick="removeInput(\'' + newdivname + '\');">[Delete]</a>';
          newdiv.innerHTML = content;
          target.appendChild(newdiv);
          counter++;
}
A voir également:

5 réponses

sipatsymasaka Messages postés 99 Date d'inscription vendredi 1 octobre 2010 Statut Membre Dernière intervention 28 novembre 2014 6
9 déc. 2011 à 08:01
je sais que: http://translate.googleusercontent.com/translate_c?hl=fr&langpair=en|fr&rurl=translate.google.fr&u=http://www.javaranch.com/journal/200510/Journal200510.jsp&usg=ALkJrhicSqiEpQl__paLlLMylMJgRiRk9g#a1
mais l'élément est créé par un onclick alors je bloque total!
Merci de vos aides et critiques et conseils .
0
sipatsymasaka Messages postés 99 Date d'inscription vendredi 1 octobre 2010 Statut Membre Dernière intervention 28 novembre 2014 6
9 déc. 2011 à 08:18
sachez que dans ma page, toutes les <select> créés dynamiquement devront avoir les même <option> tirées de la base de données.
0
sipatsymasaka Messages postés 99 Date d'inscription vendredi 1 octobre 2010 Statut Membre Dernière intervention 28 novembre 2014 6
Modifié par sipatsymasaka le 9/12/2011 à 08:59
soyez compréhensif vous qui êtes avancés mais je crois qu'on est tous passé par un état: débutant.
moi, je le suis encore, je poste ici pour être aider et pour m'aider et pour aider, normal si je trouve moi-même la réponse avant les vôtres.

Ma solution:
a chaque création dynamique d'un <select> , je copie les <option> d'un <select id="listeMED" style="visibility:hidden;> chargé en jsp, avec cette fonction:

function cp(obj){ 
var select1 = document.getElementById("listeMED");  
var select2 = obj; 
select2.innerHTML = select2.innerHTML+select1.innerHTML;  
}


mais comment faire car on ne peut écrire <select onload="cp();">
Merci!
0
sipatsymasaka Messages postés 99 Date d'inscription vendredi 1 octobre 2010 Statut Membre Dernière intervention 28 novembre 2014 6
Modifié par sipatsymasaka le 9/12/2011 à 10:11
cette partie est résolue:
function newMED() 
{     
          var target   = document.getElementById('Account_1'); 
          var newdiv   = document.createElement('div'); 
          var newdivname = 'Div' + counter; 
          newdiv.setAttribute('id',newdivname); 
           
          var i= document.getElementById('stok').value;  
          i=parseInt(i); 
          document.getElementById('stok').value=i+1; 
          content = newdiv.innerHTML; 
          content += "<table cellpadding=\"6\" cellspacing=\"10\" border=\"2\" width=\"1000\"><tr><td>" 
          content +="N*"+i+"<br><br>        NC:"; 
          content +='<select type="text" name="NC['+i+']" id="NC['+i+']" onChange="recueill1fo(this);">'; 
          content+='<option selected>Faites un choix<//option>'; 
          content +='</select>'; 
          content+="<br><input type='button' value='ok' id='"+i+"' onclick='recueill1fo(this);' >"; 
          content +="</td><td><table><tr><td>       Forme:"; 
          content +="</td><td><input type='text' name='Forme["+i+"]' id='Forme["+i+"]' size='20'>"; 
          content +="</td></tr><tr><td>       Presentation:"; 
          content +="</td><td><input type='text' name='Pres["+i+"]' id='Pres["+i+"]' size='20'>"; 
          content +="</td></tr><tr><td>Mode de prise:"; 
          content +="</td><td><input type='text' name='Mode["+i+"]' id='Mode["+i+"]' size='20'>"; 
          content +="</td></tr><tr><td>Posologie(x g/y kg/y jr):"; 
          content +="</td><td><input type='text'  maxlength='4' size='1' name='Masse["+i+"]' id='Masse["+i+"]' size='3'>"; 
          content +="<input type='text'  maxlength='3' size='1' name='MasseU["+i+"]' id='MasseU["+i+"]' size='3'>";//Select 
          content +="<input type='text'  maxlength='3' size='1' name='poi["+i+"]' id='poi["+i+"]' size='3'>"; 
          content +="<input type='text'  maxlength='3' size='1' name='poiU["+i+"]' id='poiU["+i+"]' size='3'>";//Select 
          content +="<input type='text'  maxlength='4' size='1' name='par["+i+"]' id='par["+i+"]' size='3'>"; 
          content +="<input type='text'  maxlength='3' size='1' name='parU["+i+"]' id='parU["+i+"]' size='3'>";//Select 
          content +="</td></tr><tr><td>Pendant:"; 
          content +="</td><td><input type='text'  maxlength='3' size='1' name=Pdt["+i+"]' id='Pdt["+i+"]' size='3'>"; 
          content +="<input type='text'  maxlength='4' size='1' name=PdtU["+i+"]' id='PdtU["+i+"]' size='3'>";//Select 
          content +="</td></tr></table></td><td>Quantite a delivrer:"; 
          content +="<input type='text' name='Quant["+i+"]' id='Quant["+i+"]' size='20'>"; 
          content +="</td></tr></table>" 
          //content +='<a id="AccountDelete" href="#" onclick="removeInput(\'' + newdivname + '\');">[Delete]</a>'; 
          newdiv.innerHTML = content; 
          target.appendChild(newdiv); 
          counter++; 
          cp(document.getElementById('NC['+i+']')); <---------------ICI
}
0
sipatsymasaka Messages postés 99 Date d'inscription vendredi 1 octobre 2010 Statut Membre Dernière intervention 28 novembre 2014 6
9 déc. 2011 à 10:14
0
sipatsymasaka Messages postés 99 Date d'inscription vendredi 1 octobre 2010 Statut Membre Dernière intervention 28 novembre 2014 6
9 déc. 2011 à 13:01
un petit détail: JSP tag vous permet de mettre en oeuvre certaines astuces de programmation dans le style Ajax. Ce taglib vous permet d'intégrer JSP et JavaScript. Dès votre code JavaScript que vous pourrez faire appel côté serveur stuff (JSP, servlet) avec la même idée - mise à jour de la part de votre écran sans recharger la page entière.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sipatsymasaka Messages postés 99 Date d'inscription vendredi 1 octobre 2010 Statut Membre Dernière intervention 28 novembre 2014 6
9 déc. 2011 à 13:02
voir: http://translate.googleusercontent.com/translate_c?hl=fr&langpair=en|fr&rurl=translate.google.fr&u=http://www.servletsuite.com/tips/lists.htm&usg=ALkJrhgxFpY6E3gCPV7PdI5pZox8WnuonQ
0