I am trying to make a simple copy button in javascript but it is throwing me an error
TypeError: null is not an object (evaluating 'myInp.select')
When I click on copy button
My code is
<!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>
<h2 id="title">Copy to Clipboard - JAVA Script</h2>
<input id=" myInp" type="text">
<button id="btncopy">Copy</button>
</body>
<script>
const myInp = document.getElementById("myInp");
const btncopy = document.getElementById("btncopy");
btncopy.onclick = function() {
// selecting the text
myInp.select();
};
document.execCommand("Copy");
</script>
</html>
Looks like your main error was having a space in the id of myInp.
BTW The two lines below do the same thing. I've tested them both.
navigator.clipboard.writeText(myInp.value);
document.execCommand("Copy");
const myInp = document.getElementById("myInp");
const btncopy = document.getElementById("btncopy");
btncopy.onclick = function() {
// selecting the text
myInp.select();
navigator.clipboard.writeText(myInp.value);
document.execCommand("Copy");
};
<h2 id="title">Copy to Clipboard - JavaScript</h2>
<input id="myInp" type="text">
<button id="btncopy">Copy</button>