Salut,
Alors, c'est très schématique mais voilà une idée:
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
| <form id="f">
<div>
<input type="text" id="t1" />
</div>
<div>
<input type="text" id="t2" />
</div>
<div>
<input type="text" id="t3" />
</div>
<div>
<input type="text" id="t4" />
</div>
</form>
<script>
for(i=0;i<document.forms["f"].elements.length;i++){
document.forms["f"].elements[i].addEventListener("focus",(e)=>{
let champ=e.target;
if(document.getElementById("mobile")){
document.getElementById("mobile").parentElement.removeChild(document.getElementById("mobile"))
};
let p=document.createElement("p");
p.id="mobile";
let b1=document.createElement("button");
b1.textContent="choix " + champ.id + " n°1";
b1.addEventListener("click",(e)=>{e.preventDefault();champ.value=e.target.textContent},false)
let b2=document.createElement("button");
b2.textContent="choix " + champ.id + " n°2";
b2.addEventListener("click",(e)=>{e.preventDefault();champ.value=e.target.textContent},false)
e.target.parentElement.appendChild(p);
p.appendChild(b1)
p.appendChild(b2)
},false)
}
</script> |
Problèmes:
J'imagine que tu as des options et un nombre de boutons personnalisés pour chaque champ
Recréer la div à chaque fois n'est peut-être pas le plus propre, mais j'attends de savoir ce que vas préciser
Créer un select te permettrait une gestion plus fluide, ergonomique et tout et tout;
Partager