Problème javascript pour ajouter un block

Résolu/Fermé
wyllos Messages postés 160 Date d'inscription dimanche 3 juin 2007 Statut Membre Dernière intervention 15 septembre 2011 - 27 juin 2011 à 14:22
wyllos Messages postés 160 Date d'inscription dimanche 3 juin 2007 Statut Membre Dernière intervention 15 septembre 2011 - 27 juin 2011 à 18:06
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 dimanche 3 juin 2007 Statut Membre Dernière intervention 15 septembre 2011 5
27 juin 2011 à 17:40
Ok je vais tester dans cette direction.

Merci
1
varfendell Messages postés 3256 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 8 février 2020 704
27 juin 2011 à 17:10
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 3256 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 8 février 2020 704
27 juin 2011 à 17:45
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 dimanche 3 juin 2007 Statut Membre Dernière intervention 15 septembre 2011 5
27 juin 2011 à 18:06
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