Ciao,
devi controllare 3 eventi:
la selezione di un testo nella textarea, la modifica della textarea, e il click sul bottone sostituisci.
Se provi a scrivere un testo nel campo input, poi un testo nella textarea, selezionare una parte di testo della textarea e premete il bottone sostituisci.
ecco il codice:
codice:
<textarea id="miatextarea" rows="4" cols="50"></textarea>
<input id="mioinput">
<button id="miobottone">
Sostituisci
</button>
<script>
window.onload=function(){
var inizio=null;
var fine=null;
document.getElementById("miatextarea").addEventListener("select",catturaTesto);
document.getElementById("miatextarea").addEventListener("keypress",resettaVariabili);
document.getElementById("miobottone").addEventListener("click",copiaTesto);
function catturaTesto(){
let miaTextArea=document.getElementById("miatextarea");
inizio = miaTextArea.selectionStart;
fine = miaTextArea.selectionEnd;
}
function resettaVariabili(){
inizio=null;
fine=null;
}
function copiaTesto(){
if (!inizio){
alert("non hai selezionato alcun testo");
return;
}
let referenzaTextArea=document.getElementById("miatextarea");
let miaTextArea=document.getElementById("miatextarea").value;
let mioInput=document.getElementById("mioinput").value;
let risultato=miaTextArea.substring(0,inizio)+ mioInput + miaTextArea.substring(fine);
document.getElementById("miatextarea").value=risultato;
}
}
</script>