Récupérer l'élément à l'origine de l'événement
Bonjour à tous,
Je voudrais récupérer l'élément enfant (champ de formulaire) sur lequel l'utilisateur à cliqué pour modifier l'attribut disabled ou readonly de ce seul champ.
Pour info, mon but est de ne modifier qu'un champ à la fois.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| <form method="post" action="" class="L displCard">
<div class="multiCols">
<div class="div1">
<strong><label><?= INCL_LBL_FIRST; ?></label><input type="text" value="<?= $address->prenom; ?>" disabled /></strong><br/>
<p></p>
<label><?= INCL_LBL_ADDR; ?></label><textarea cols="30" rows="3" readonly><?= $address->adresse; ?></textarea><br/>
<label><?= INCL_LBL_COUNTRY; ?></label><input type="text" value="<?= $address->pays; ?>" disabled /><br/>
<label><?= INCL_LBL_CP; ?></label><input type="text" value="<?= $address->cp; ?>" disabled /><br/>
<label><?= INCL_LBL_LOCALITY; ?></label><input type="text" value="<?= $address->ville; ?>" disabled /><br/>
</div>
<div class="div2">
<strong><label><?= INCL_LBL_LAST; ?></label><input type="text" value="<?= $address->nom; ?>" disabled /></strong><br/>
<p></p>
<label><?= INCL_LBL_HOME; ?></label><input type="text" value="<?= $address->tel_domicile; ?>" disabled /><br/>
<label><?= INCL_LBL_GSM; ?></label><input type="text" value="<?= $address->tel_portable; ?>" disabled /><br/>
<label><?= INCL_LBL_WORK; ?></label><input type="text" value="<?= $address->tel_travail; ?>" disabled /><br/>
<label><?= mailtoLbl($address->courriel); ?></label><input type="text" value="<?= $address->courriel; ?>" disabled /><br/>
</div>
</div>
<div style="margin-top:10px;margin-left:20px;">
<label><?= INCL_LBL_NOTES; ?></label><textarea style="width:500px" readonly><?= $address->notes; ?></textarea><br/>
<label><?= INCL_LBL_UPDATE; ?></label><input type="text" value="<?= $address->update_date; ?>" disabled /><br/>
</div>
</form> |
Code:
1 2 3 4 5 6 7 8 9 10 11
| "use strict";
const
inclForm = window.document.querySelector('.displCard'),
fields = window.document.querySelectorAll('.displCard input, .displCard textarea');
// Modification des champs
inclForm.addEventListener('dblclick', function(e)
{
alert(e.target.name);
}, false ); |
Ma question: La ligne 10 affiche une chaîne vide et nom pas le nom du champ qui a été cliqué.