Bonjour,
j'ai un problème avec l'ajout dynamique de champs dans un formulaire en javascript.
J'ai réussi en parcourant quelques scripts et forums à créer un formulaire de ce type : http://www.etudium.com/tmp/formulaire/index.htm
L'ajout et le retrait des champs marche très bien.
Le problème est que lorsque je clique sur '+'.
Le programme me rajoute bien un champ avec la possibilité de choisir une date mais il me vide le champ précédent.
Et avec IE 7 ça marche !
Si vous avez une idée je suis preneur car là je sèche ....
Pour le code, c'est ici :
champsDynamiques.js
var i = 0;
function create_champ(){
if(i<1){
document.getElementById('champs').innerHTML += "<div id='champs_"+i+"' style='display:block'>"+
"Jour :<input type='text'size='8' readonly name='jour_"+i+"' id='jour_"+i+"' />"+
"<input type='button' value='Cal' onClick=displayCalendar(document.getElementById('jour_"+i+"'),'dd/mm/yyyy',this) />"+
"Heures :<input name='heures_"+i+"' size='2' type='text'/>"+
"</div>";
}
else{
document.getElementById('champs').innerHTML += "<div id='champs_"+i+"' style='display:block'>"+
"Jour :<input type='text'size='8' readonly name='jour_"+i+"' id='jour_"+i+"' />"+
"<input type='button' value='Cal' onClick=displayCalendar(document.getElementById('jour_"+i+"'),'dd/mm/yyyy',this) />"+
"Heures :<input name='heures_"+i+"' size='2' type='text'/>"+
"<input type='button' value='-' onClick='remove_champ("+i+")' />"+
"</div>";
}
i++;
}
function remove_champ(i){
var parent = document.getElementById("champs_"+i).parentNode;
parent.removeChild(document.getElementById("champs_"+i));
}
index.html
<html>
<head>
<title>Saisie des heures par jour</title>
<script language="javascript" src="javascript/champs_dynamiques.js"></script>
<script language="javascript" src="javascript/dhtmlgoodies_calendar.js"></script>
<link type="text/css" rel="stylesheet" href="styles/dhtmlgoodies_calendar.css" media="screen" />
</head>
<body onLoad="create_champ();">
<form name="dates" method="post" action="#">
<div id='champs'></div>
<input class='input2' type='button' onClick='javascript:create_champ()' value='+' />
</form>
</body>
</html>
Merci
SuperResistant
Configuration: Windows XP
Firefox 3.0