Así que estoy escribiendo una página web donde el usuario ingresa valores en dos campos de área de texto, y una vez que hace clic en el botón Enviar, se supone que el programa inicia una descarga de ambas entradas de texto y las guarda en un archivo de texto. Hasta ahora, he descubierto cómo hacer que solo una de las entradas de texto se guarde en el archivo de texto, y he estado tratando de descubrir cómo hacer que mi función Javascript haga esto para ambas entradas de texto. Aquí está mi código html y javascript:
function saveIndex() { var myBlob = new Blob([document.getElementById('textbox').value], { type: "text/plain" }); var url = window.URL.createObjectURL(myBlob); var anchor = document.createElement("a"); anchor.href = url; anchor.download = "textfile.txt"; anchor.click(); window.URL.revokeObjectURL(url); document.removeChild(anchor); } <body> <label for="textbox">Textbox1</label> <textarea id="textbox1"></textarea> <label for="bio">Textbox2</label> <textarea id="textbox2"></textarea> <button type="button" id="bt" value="Exporter" onclick="saveIndex()" for="textbox"> EXPORT </button> </body>Sé que probablemente necesito crear un nuevo Blob para mi segunda etiqueta de área de texto, pero lo intenté y también probé diferentes formas de implementarlo en mi función sin ningún éxito. No puedo hacer otra función para la segunda etiqueta de área de texto, todo esto debe hacerse dentro de la función saveIndex() actual. ¡Cualquier ayuda sería muy apreciada!
Estaba tratando de obtener el valor de un elemento con una ID de 'cuadro de texto' pero no había tal elemento. Tienes 'textbox1' y 'textbox2'. Este código recuperará ambos y los concatenará con una nueva línea en su blob.
He solucionado algunos errores en su HTML (las etiquetas no se vinculan correctamente con sus entradas), ¡también use let & const en lugar de var antiguo!
function saveIndex() { const boxString1 = document.getElementById('textbox1').value const boxString2 = document.getElementById('textbox2').value const myBlob = new Blob([`${boxString1}\n${boxString2}`], { type: "text/plain" }); const url = window.URL.createObjectURL(myBlob); const anchor = document.createElement("a"); document.body.appendChild(anchor); anchor.href = url; anchor.download = "textfile.txt"; anchor.click(); window.URL.revokeObjectURL(url); anchor.remove(); } <body> <label for="textbox1">Textbox1</label> <textarea id="textbox1"></textarea> <label for="textbox2">Textbox2</label> <textarea id="textbox2"></textarea> <button type="button" id="bt" onclick="saveIndex()">EXPORT</button> </body>