Че то вроде получилось, но текст выводится не в PRE а в BUTTON. Вот рабочий пример:
<div class="block"><br>
<textarea class="precode" onkeyup="txt()" name="text"></textarea>
<br><pre class="pre"></pre>
<button class="buttons" onclick="return false">Вывести</button>
</div>
<div class="block"><br>
<textarea class="precode" onkeyup="txt()" name="text"></textarea>
<br><pre class="pre"></pre>
<button class="buttons" id="button" onclick="return false">Вывести</button>
</div>
<div class="block"><br>
<textarea class="precode" onkeyup="txt()" name="text"></textarea>
<br><pre class="pre"></pre>
<button class="buttons" onclick="return false">Вывести</button>
</div>
<style>
.pre {border: 1px solid black; height: 20px}
</style>
<script>
function txt(){
document.querySelectorAll('.buttons').forEach(btns => {
btns.addEventListener('click', function () {
document.querySelectorAll('.pre').forEach(pre => {
this.closest('.block').querySelectorAll('.precode').forEach(precode => {
//Отправка формы
this.innerHTML = precode.value;
});
});
});
});
}
</script>