Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

136
Vistas
Alternativa de solicitud de Javascript en Loop

Entonces, en lugar de un aviso, podría usar un <input type="text"> y un button para hacer cosas con los valores de la entrada al hacer clic en el botón, por ejemplo:

 var x = []; $('button').on('click', function(){ x.push($(input[type="text"]).val()); });

Sin embargo, en un bucle, por ejemplo:

 var y=0; var z=[]; do { z.push(prompt('input value')); y++; } while (y<5);

El ciclo solicitaría un valor, el usuario ingresa el valor, el indicador asigna un valor a la matriz, luego el ciclo solicitará nuevamente hasta que y llegue a 5.

En lugar de un aviso, me gustaría hacer esto con la entrada y el botón de mi campo de texto. ¿Cómo puedo hacer que el ciclo se detenga, esperar a que el usuario ingrese texto y enviarlo haciendo clic en el botón, cada vez que llegue a esa parte del ciclo?

Editar: la inserción de 5 valores en la matriz fue solo un ejemplo. Digamos que quería crear un juego en el que el bucle se moviera hacia arriba con una entrada "arriba" y hacia abajo con una entrada "abajo". Quiero poder solicitar la entrada del usuario durante el bucle, de forma similar a como lo haría el aviso, pero sin usar avisos.

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

tu no Cambias completamente tu lógica, perdiendo el bucle por completo:

 var z = []; $('button').on('click', function() { z.push($(input[type="text"]).val()); if (z.length === 5) { // Do what you would have done after the end of the loop here } });

Editó la pregunta y comentó a continuación que lo que haga a continuación puede variar según la entrada. Eso no es un problema, solo aplica el modelo de respuesta de evento a su nuevo requisito. Por ejemplo, dijiste

...Digamos que quería crear un juego en el que el bucle se moviera hacia arriba con una entrada "arriba" y hacia abajo con una entrada "abajo".

Después:

 $('button').on('click', function() { switch ($(input[type="text"]).val().toLowerCase()) { case "up": // Do the "up" thing break; case "down": // Do the "down" thing break; } });

Hay varias formas diferentes de manejar el envío, no necesariamente un switch . Por ejemplo:

 var actions = { up: function() { // Do the "up" thing }, down: function() { // Do the "down" thing } }; $('button').on('click', function() { var action = actions[$(input[type="text"]).val().toLowerCase(); if (action) { action(); } });

Y así. La clave es que, en lugar de trabajar de forma iterativa (hago esto, obtengo esa información, hago lo siguiente, obtengo más información), está trabajando de forma reactiva : obtengo información, hago algo. Eso podría requerir algún tipo de gestión de estado (recordar dónde se encuentra) más allá de lo que se muestra arriba (el primer ejemplo tiene gestión de estado: verificamos la longitud de z para ver cuántas entradas hemos recopilado).

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda