1
respuesta

[Duda] Práctica de las estrellas

Hice el ejercicio de la práctica de las estrellas y me salió relativamente bien, pero a pesar de que lo ejecuta adecuadamente , lo imprime en otra página y no en la que está el botón y no me pone el texto de EL FIN, por lo que no puedo repetir el proceso salvo que refresque.

¿Cómo lo evito? ¿Cómo pongo un botón que recague el formulario?

MOSTRAR ESTRELLAS DESDE CAMPOS Y BOTONES

Ingrese el número de líneas que desea

cript>

function saltarLinea() {

    document.write("<br>");    
    document.write("<br>");    
    document.write("<br>");    

}  

function imprimir(frase) {

    document.write(frase);
    saltarLinea();

}

function mostrar(frase) {

    var input = document.querySelector("input");
    var columnasCantidad = 5;
    var lineasCuenta;
    var columnasCuenta;


    for (lineasCuenta = 0; lineasCuenta < input.value; lineasCuenta++ ) {
        input.focus();
        for (var columnasCuenta = 0; columnasCuenta < columnasCantidad; columnasCuenta++ ) {
        document.write("☆ ");

         }
        document.write("<br>");
         }

         input.value = "";
         input.focus();
}

var button = document.querySelector ("button");
button.onclick = mostrar;

 saltarLinea ();
imprimir("EL FIN, muchas gracias por su preferencia");

1 respuesta

¡Hola Heidy!

Para evitar que el resultado de la práctica de las estrellas se imprima en otra página, puedes utilizar la función innerHTML en lugar de document.write. De esta forma, el resultado se imprimirá en la misma página donde se encuentra el botón.

Para agregar un botón que recargue el formulario, puedes utilizar la función location.reload() en el evento onclick del botón. De esta forma, al hacer clic en el botón, se recargará la página y se reiniciará el formulario.

Aquí te muestro el código con las modificaciones:

<meta charset="UTF-8">

<h1>MOSTRAR ESTRELLAS DESDE CAMPOS Y BOTONES</h1>

Ingrese el número de líneas que desea

<input id="input"/>
<button onclick="mostrar()"> Mostrar </button>
<button onclick="location.reload()"> Reiniciar </button>


<script>

    function saltarLinea() {

        document.write("<br>");    
        document.write("<br>");    
        document.write("<br>");    

    }  

    function imprimir(frase) {

        document.write(frase);
        saltarLinea();

    }

    function mostrar() {

        var input = document.getElementById("input");
        var columnasCantidad = 5;
        var lineasCuenta;
        var columnasCuenta;
        var resultado = "";

        for (lineasCuenta = 0; lineasCuenta < input.value; lineasCuenta++ ) {
            input.focus();
            for (var columnasCuenta = 0; columnasCuenta < columnasCantidad; columnasCuenta++ ) {
                resultado += "☆ ";

             }
             resultado += "<br>";
         }

         document.getElementById("resultado").innerHTML = resultado;
         input.value = "";
         input.focus();
    }

     saltarLinea ();
    imprimir("EL FIN, muchas gracias por su preferencia");

</script>

<div id="resultado"></div>

Espero que esta solución te sea de ayuda. ¡Buenos estudios!