Como ejecutar código javascript dentro de un textarea al presionar botón

  • Autor Autor Karasu
  • Fecha de inicio Fecha de inicio
Karasu

Karasu

Delta
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
Pues eso, me gustaría saber si es posible o si hay alguna manera de poder ejecutar javascript dentro de un textarea al presionar un botón. :distant:

He hecho pruebas y lo he logrado creando una etiqueta html e incrustando el código dentro de este al presionar un botón. Funciona bien así, pero siento que no es lo más optimo hacerlo de esa manera. :ambivalence: ¿Hay alguna otra manera de hacerlo? Espero sus comentarios, saludos. :encouragement:
 
A qué te refieres con eso de "ejecutar javascript dentro de un textarea"? ¿Quieres manipular un elemento "textarea" a través de un evento externo?
 
A qué te refieres con eso de "ejecutar javascript dentro de un textarea"? ¿Quieres manipular un elemento "textarea" a través de un evento externo?

Con eso me refiero a escribir código javascript en un textarea y al presionar un botón, pues que el código escrito en el textarea se ejecute. ¿Se entiende?

Cómo dije, eso lo puedo hacer; lo que me entra en duda es sí hay alguna manera más optima para hacerlo. :ambivalence:
 
Puedes usar eval
HTML:
eval(document.getElementById("miTextarea").value);
 
Puedes usar eval
HTML:
eval(document.getElementById("miTextarea").value);

Como ya dije, puedo hacerlo con un textarea y un botón; el botón genera una etiqueta script que contiene el código javascript escrito en el textarea, se ejecuta y todo bien. Lo que me pregunto es si hay alguna manera más optima de hacerlo. :ambivalence:

Pero bueno, por ahora lo dejaré para después o por lo menos hasta que encuentre una manera que me acomode. 😛7:
 
Como ya dije, puedo hacerlo con un textarea y un botón; el botón genera una etiqueta script que contiene el código javascript escrito en el textarea, se ejecuta y todo bien. Lo que me pregunto es si hay alguna manera más optima de hacerlo. :ambivalence:

Pero bueno, por ahora lo dejaré para después o por lo menos hasta que encuentre una manera que me acomode. 😛7:

Eres muy irrisorio 😀 tu buscas que se haga mas optimo, sin embargo no dejas tu codigo para ver si podemos hacerlo mas pequeno como lo quieres. 😡
 
Eres muy irrisorio 😀 tu buscas que se haga mas optimo, sin embargo no dejas tu codigo para ver si podemos hacerlo mas pequeno como lo quieres. 😡

Bueno el post lo hice a principios de diciembre, pero te respondo igual. 🙄

éste es el código:

HTML:
<textarea name="jsEditor" id="jsEditor" cols="30" rows="10" placeholder="Escribe tu código javascript aquí"></textarea>
<button id="execute">ejecutar</button>
<script>
let editor = document.getElementById('jsEditor'),
	execute = document.getElementById('execute'),
	body = document.body;

execute.addEventListener('click',function(){
	if (document.getElementById('executed')) {document.getElementById('executed').remove();}
	let script = document.createElement('script');
	script.id="executed";
	script.innerHTML=editor.value;
	body.appendChild(script);})
</script>

Lo hice recién, así que puede tener errores. Si tienes alguna sugerencia, pues bienvenida sea. :encouragement:
 
Hola, tengo un codigo mas corto y sencillo y funciona, aca te lo dejo.

HTML:

HTML:
<textarea name="" id="text-area" cols="30" rows="10" placeholder="Escribe tu codigo aqui"></textarea>
<button id="button">Correr codigo</button>

<script>
let textArea = document.getElementById("text-area");
let button = document.getElementById("button");
let textAreaValue;

button.addEventListener("click", ()=>{
    

    function runScript(){
        textAreaValue = textArea.value;
        let getTextToCode = eval(textAreaValue);

        return getTextToCode;
    }
    runScript();
});

</script>
 
Atrás
Arriba