1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
| // --------------
// AJOUTER un INPUT
function add_input( champ_name, champ_ligne, champ_num )
{
if( champ_num < 10 ) // on LIMITE le nombre MAXI
{
// Créer un élément input
var elm = document.createElement('input');
elm.setAttribute('type', 'text');
// Donner nom (+ le Placeholder pour voir le resultat)
elm.setAttribute('name', champ_name+'['+champ_ligne+']['+champ_num+']');
elm.setAttribute('placeholder', champ_name+' '+champ_ligne+'-'+champ_num);
// sets the objects for reference and parent
var input_add = document.getElementById('input_add_'+champ_ligne);
var input_parent = input_add.parentNode;
// Adds elm Before
input_parent.insertBefore(elm, input_add);
// on INcrémente le champ_num
document.getElementById('input_add_'+champ_ligne).dataset.num = champ_num + 1;
document.getElementById('input_del_'+champ_ligne).dataset.num = champ_num;
document.getElementById('input_add_'+champ_ligne).style.display = '';
document.getElementById('input_del_'+champ_ligne).style.display = '';
} else {
document.getElementById('input_add_'+champ_ligne).style.display = 'none';
}
}
// --------------
var input_adds = document.querySelectorAll('input.input_add');
input_adds.forEach( function( input_add ){
input_add.addEventListener( 'click', function(){
var champ_name = this.dataset.name;
var champ_ligne = Number(this.dataset.lgn);
var champ_num = Number(this.dataset.num);
add_input( champ_name, champ_ligne, champ_num );
});
});
// --------------
// SUPPRIMER un INPUT
function input_del_input( champ_name, champ_ligne, champ_num )
{
console.log('Supprime : '+champ_name+' \nLigne: '+champ_ligne+' \nnum_champ: '+champ_num);
if( champ_num > 0 ) // SAUF le 1er
{
// Supprime un élément input
var element = document.querySelector( 'input[name="'+champ_name+'['+champ_ligne+']['+champ_num+']"]' );
element.remove();
// on DEcrémente le champ_num
document.getElementById('input_add_'+champ_ligne).dataset.num = champ_num;
document.getElementById('input_del_'+champ_ligne).dataset.num = champ_num - 1;
document.getElementById('input_add_'+champ_ligne).style.display = '';
document.getElementById('input_del_'+champ_ligne).style.display = '';
}
if( champ_num == 1 ) // SAUF le 1er
{
document.getElementById('input_del_'+champ_ligne).style.display = 'none';
}
}
// --------------
var input_dels = document.querySelectorAll('input.input_del');
input_dels.forEach( function( input_del ){
input_del.addEventListener( 'click', function(){
var champ_name = this.dataset.name;
var champ_ligne = Number(this.dataset.lgn);
var champ_num = Number(this.dataset.num);
input_del_input( champ_name, champ_ligne, champ_num );
});
});
// -------------- |
Partager