Problème javascript pour ajouter un block

Résolu
wyllos Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   -  
wyllos Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je désire grâce à un input text ajouter autant de bloc que le nombre inscrit dans mon input et cela en javascript. Le problème que j'ai est que je n'ai pas d'ajout mais uniquement un remplacement du premier block. Pour y voir plus clair, voila mon code:

php:
//mon input
<input type="text" name="qte" size="3" value="1" onkeyup="calcul();" />

//mon block principal à dupliquer
<div class="partic" id="partic">
    	<div id="perso_0">
    <h2>Renseignements concernant le participant</h2>
    	<span>Mme <input type="radio" name="civilite" value="Mme" /></span><span>Mlle <input type="radio" name="civilite" value="Mlle" /></span><span>M. <input type="radio" name="civilite" value="M." /></span><br  /><br />
        
        <span>Nom: <input type="text" name="nom" value="" /></span>&nbsp;<span>Prénom: <input type="text" name="prenom" value="" /></span><br  /><br />
        <span>Date de naissance: <input type="text" name="naissance" value="" /></span><br  /><br />
        <span>Adressse personnelle: <input type="text" name="adresse" value="" size="60" /></span><br  /><br />
        <span>Téléphone fixe: <input type="tel" name="tel_fixe" value="" /></span>&nbsp;<span>Télephone portable: <input type="tel" name="tel_port" value="" /></span><br /><br />
        <span>Adresse mail: <input type="email" name="email" value="" /></span><br /><br />
        <span>Prise en charge: Oui<input type="radio" name="pris_char" value="oui" /></span>&nbsp;<span>Non<input type="radio" name="pris_char" value="non" /></span>&nbsp;<span>Organisme de prise en charge: <input type="text" name="organisme_ch" value="" /></span><br /><br />
        <span>Statut du participant(salarié, chef d'entreprise salarié/non salarié): <input type="text" name="statut" value="" /></span><br /><br />
        
    	</div>
    </div>
    <div style="clear:both;">&nbsp;</div>


Mon javascript:
     function calcul() {
		var qt =  document.getElementById("devis").qte.value;
		var tarif = document.getElementById("devis").tarif_f.value;
		var total = parseInt(qt) * parseInt(tarif);
		$('#total_resume').html(total + ' €');
		//alert(qt);
		document.getElementById('partic').innerHTML ='<div id="perso_0">'+
    '<h2>Renseignements concernant le participant</h2>'+
    	'<span>Mme <input type="radio" name="civilite_0" value="Mme" />'+
		'</span>'+
		'<span>Mlle '+
		'<input type="radio" name="civilite_0" value="Mlle" />'+
		'</span>'+
		'<span>M.'+ 
		'<input type="radio" name="civilite_0" value="M." />'+
		'</span><br  /><br />'+
        '<span>Nom: '+
		'<input type="text" name="nom_0" value="" />'+
		'</span>&nbsp;'+
		'<span>Prénom: '+
		'<input type="text" name="prenom_0" value="" />'+
		'</span><br  /><br />'+
        '<span>Date de naissance:'+ 
		'<input type="text" name="naissance_0" value="" />'+
		'</span><br  /><br />'+
        '<span>Adressse personnelle: '+
		'<input type="text" name="adresse_0" value="" size="60" />'+
		'</span><br  /><br />'+
        '<span>Téléphone fixe:'+ 
		'<input type="tel" name="tel_fixe_0" value="" />'+
		'</span>&nbsp;'+
		'<span>Télephone portable: '+
		'<input type="tel" name="tel_port_0" value="" />'+
		'</span><br /><br />'+
        '<span>Adresse mail: '+
		'<input type="email" name="email_0" value="" />'+
		'</span><br /><br />'+
        '<span>Prise en charge: Oui'+
		'<input type="radio" name="pris_char_0" value="oui" />'+
		'</span>&nbsp;'+
		'<span>Non'+
		'<input type="radio" name="pris_char_0" value="non" />'+
		'</span>&nbsp;'+
		'<span>Organisme de prise en charge: '+
		'<input type="text" name="organisme_ch_0" value="" />'+
		'</span><br /><br />'+
        '<span>Statut du participant(salarié, chef d\'entreprise salarié/non salarié): '+
		'<input type="text" name="statut_0" value="" /><br /><br />'+         
    '</div>'+
    '<div style="clear:both;">&nbsp;</div>';
		
		for(m = 1; m < parseInt(qt) ; m++){
			document.getElementById('partic').innerHTML ='<div id="perso_'+m+'">'+
    '<h2>Renseignements concernant le participant</h2>'+
    	'<span>Mme <input type="radio" name="civilite_'+m+'" value="Mme" />'+
		'</span>'+
		'<span>Mlle '+
		'<input type="radio" name="civilite_'+m+'" value="Mlle" />'+
		'</span>'+
		'<span>M.'+ 
		'<input type="radio" name="civilite_'+m+'" value="M." />'+
		'</span><br  /><br />'+
        '<span>Nom: '+
		'<input type="text" name="nom_'+m+'" value="" />'+
		'</span>&nbsp;'+
		'<span>Prénom: '+
		'<input type="text" name="prenom_'+m+'" value="" />'+
		'</span><br  /><br />'+
        '<span>Date de naissance:'+ 
		'<input type="text" name="naissance_'+m+'" value="" />'+
		'</span><br  /><br />'+
        '<span>Adressse personnelle: '+
		'<input type="text" name="adresse_'+m+'" value="" size="60" />'+
		'</span><br  /><br />'+
        '<span>Téléphone fixe:'+ 
		'<input type="tel" name="tel_fixe_'+m+'" value="" />'+
		'</span>&nbsp;'+
		'<span>Télephone portable: '+
		'<input type="tel" name="tel_port_'+m+'" value="" />'+
		'</span><br /><br />'+
        '<span>Adresse mail: '+
		'<input type="email" name="email_'+m+'" value="" />'+
		'</span><br /><br />'+
        '<span>Prise en charge: Oui'+
		'<input type="radio" name="pris_char_'+m+'" value="oui" />'+
		'</span>&nbsp;'+
		'<span>Non'+
		'<input type="radio" name="pris_char_'+m+'" value="non" />'+
		'</span>&nbsp;'+
		'<span>Organisme de prise en charge: '+
		'<input type="text" name="organisme_ch_'+m+'" value="" />'+
		'</span><br /><br />'+
        '<span>Statut du participant(salarié, chef d\'entreprise salarié/non salarié): '+
		'<input type="text" name="statut_'+m+'" value="" /><br /><br />'+         
    '</div>'+
    '<div style="clear:both;">&nbsp;</div>';
			
			
		}
    
}





A voir également:

4 réponses

wyllos Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   5
 
Ok je vais tester dans cette direction.

Merci
1
varfendell Messages postés 3259 Date d'inscription   Statut Membre Dernière intervention   707
 
Bonjour,

Tu peut utiliser une fonction qui recupere le nombre de division "partic" et inserer ce nombre dans la valeur de l'attribut "value" de ta balise "input"

Un truc du genre getElementById("partic"); qui devrait te retouner un tableau (donc la taille du tableau c'est le nombre de division, que yu veut mettre dans ton input).
puis getElement("input").value = getElementById("partic").length;
0
varfendell Messages postés 3259 Date d'inscription   Statut Membre Dernière intervention   707
 
Soit dit en passant, je me suis trompé de sens: tu souhaites mettre un chiffre dans ton input et afficher autant de fois le formulaire qu'il y a de chiffre.

Donc la solution c'est de creer une div avec un id spécifique, et quand tu clique sur valider, tu recuperes le nombre entré (avec les vérification nescessaire) et tu creer une boucle qui va mettre dans une variable vide le questionnaire (dans la boucle, sa va mettre dans la variable autant de fois le questionnaire que le chiffre entré). Tu n'a plus qu'a insérer dans la div ta variable qui contient les questionnaires
0
wyllos Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   5
 
ok merci pour tes réponses j'ai résolu mon problème. Dans mon code le innerHtml de la boucle j'ai oublié de l'ajouté à l'autre, il me manquait juste le + devant =

Merci tout de même.
0