Я работаю над проектом, в котором у меня есть таблица, полная имен, фамилий и адресов электронной почты. Последний тд должен быть кнопкой, которая позволяет пользователю скопировать адрес электронной почты конкретного человека в буфер обмена.
Также да, я знаю, что это в старой школе JS, я работаю над устаревшим проектом.
Вот мой код на codepen.io: https://codepen.io/anfperez/pen/ZZdwWL
HTML
<table style="width:100%">
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>E-mail</th>
<th>Button</th>
</tr>
<tr>
<td>Jill</td>
<td>Smith</td>
<td id="email">jsmith@whatever.com</td>
<td><button>Click to Copy</button></td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td id="email">ejackson@whatever.com</td>
<td><button>Click to Copy</button></td>
</tr>
</table>
JS
function copyToClipboard() {
var copyText = document.getElementById("email")
copyText.select();
document.execCommand("copy");
alert("Copied the text: " + copyText.value);
}
Итак, у меня есть две дилеммы:
1) как я могу получить каждую кнопку, сгенерированную, чтобы скопировать правильный адрес электронной почты (не только один или все из них)? Мне нужно присвоить уникальные идентификаторы каждой записи, но я не знаю, как начать их генерировать, если список становится длиннее.
2) Я получаю сообщение об ошибке, что «copyText.select () не является допустимой функцией». Я следовал нескольким учебникам, в которых используется этот метод, поэтому я не уверен, почему он здесь не работает.