Estoy tratando de escribir código para una aplicación simple para tomar notas para el trabajo, pero tengo problemas con el código para copiar todos los campos en el portapapeles.
<!DOCTYPE html> <html> <body> <h1>NOTEPAD 1.0</h2> <form> <div class="notes"> <form id="form1"> <label for="name"><b>Name:</b></label><br> <input type="text" id="name" name="name"><br> <label for="AR"><b>AR#:</b></label><br> <input type="text" id="AR" name="AR"><br> <label for="Verified"><b>Verified:</b></label><br> <input type="text" id="Verified" name="Verified"><br> <label for="Reason"><b>Reason:</b></label><br> <input type="text" id="Reason" name="Reason"><br> <label for="Resolution"><b>Resolution:</b></label><br> <div> <textarea style="width:700px; height: 200px;"></textarea></div> <script> let name = document.getElementById(name).value let nameLabel = "Name:\t" let ARLabel = "AR#:\t" let copyString = nameLabel.concat(name, '\n', ARLabel, "AR"); </script> <button onclick="navigator.clipboard.writeText(copyString)">Copy</button> <input type="reset"> <p>Quiero que la salida de la copia se muestre como
Nombre: AR#: Verificado: Motivo: Resolución:
<!DOCTYPE html> <html> <head> <input type="text" value="Hello Text Copied" id="myInput"> <button onclick="copyText()">Copy text</button> <script> function copyText () { var TextCopy = document.getElementById("myInput"); navigator.clipboard.writeText(TextCopy.value); alert("Copied the text: " + TextCopy.value); } </script> </body> </html>Con navigator.clipboard puede leer y escribir desde/hacia el portapapeles.
Si desea copiar una parte seleccionada del texto, puede hacerlo con window.getSelection().toString() .
Nota: verifique si la selección no es .isCollapsed // lo que significa selección.finalizar === selección.comenzar
Puede personalizar cómo desea que su selección se analice en una cadena trabajando con el objeto Selección