Allora sul quarto punto mi sono espresso male io, intendevo dire in che parte del file html carichi lo script , se sull'head oppure prima della chiusura del tag body. Se lo script è caricato sull'head ricorda che va inserito la priprietà "defer".
codice:
<script defer>
...
</script>
codice:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<input name='dc' id='dc' type='text' value='parole-uno' size='60'>
<input name='dc' id='dc' type='text' value='parole-due' size='60'>
<input name='dc' id='dc' type='text' value='parole-tre' size='60'>
<input name='dc' id='dc' type='text' value='parole-quattro' size='60'>
<input name='dc' id='dc' type='text' value='parole-cinque' size='60'>
<textarea name="tag" cols="80" rows="23">
parole-uno
parole-due
parole-tre
parole-quattro
parole-cinque
</textarea>
<button data-open>open modal</button>
<script>
window.addEventListener("DOMContentLoaded", function () {
const inputs = document.querySelectorAll('input[name="dc"]')
const tarea = document.querySelector('textarea[name="tag"]')
Array.from(inputs).forEach(function (input) {
input.addEventListener('click', function (e) {
const index = tarea.value.indexOf(e.target.value)
const len = index + e.target.value.length
tarea.focus()
tarea.setSelectionRange(index, len)
})
})
})
</script>
</body>
</html>
Questo è l'esempio completo, verifica se eveventualemente trovi.