Otros lugares, otras opciones :: Sin clasificar :: Pregunta a programadores javascript
Estoy haciendo un programilla para llevar la vida del los malos en el mundo de tinieblas. Me va bien pero quiero hacer una pijada para no tener tanta linea de codigo a ver si es posible.
Lo que quiero hacer es duplicar la siguiente linea de codigo.
<img src="../../images/cuadro.jpg" onClick="cuadro(this)" id="1">
dependiendo de un valor numerico dado por el usuario por medio de un textbox y un boton de validación.
Por ejemplo, si me pone 4, repetir la linea de código 4 veces.
¿Es posible o voy a tener que duplicarla hasta la saciedad?
Muchas gracias a todos
No recuerdo mucho de javasript y de programacion pues hace años que no lo miro.
Pero tú quieres:
- Guardar número indicado en textbox: tendrías que pasarlo a numero pues si no me equivoco te lo guarda como texto.
- Hacer un bucle: Que se ejecute la linea de codigo que tú quieres mientras un contador sea menor que el número indicado. Acuerdate de aumentar el contador dentro del bucle.
Lamento no ponerte el codigo, pero como te digo hace años que no miro la programación, y más aún que no le echo un vistazo al javascript.
Yo hace tiempo que no programo en Javascript "a saco", normalmente utilizo librerías (en mi caso jQuery) que te ahorra infinidad de horas de trabajo. Lo que tu dices para hacerlo con esta librería seria muy fácil.
Pero bueno en todo caso, la función "write" esta para eso, así que simplemente tendrías que localizar el sitio donde quieres escribirlo (dentro de un div o algo así) y poner algo parecido a:
document.all.div1.innerText = "";
Si quieres varias veces pues con un "for" desde i=0 hasta el parámetro que cojas de tu usuario.
Si no son números muy altos te recomendaría poner un select en lugar de un input-text, para evitar que escriban letras o signos no válidos en la caja y ahorrarte la validación. Por otro lado parece sencillo y sería como má so menos te comentan por aquí, en cualquier caso yo creo que te llega con poner el valor del input sin necesidad de pasarlo a entero, pero tampoco estoy seguro, tendría que probarlo. Algo así te debería valer:
//Primero borramos el contenido del div
document.getElementById('id_del_div').innerText = '';
//Ahora lo llenamos con el bucle
for (var i=0; i<document.getElementById('id_del_input').value; i++){
document.getElementById('id_del_div').innerText += '<img src="../../images/cuadro.jpg" onClick="cuadro(this)" id="1">';
}
Lo más probable es que necesite algún retoque porque NUNCA lo hago bien a la primera xD Pero puede que te sirva. Un saludo
Muchisimas gracias, en cuanto lo haga y lo pruebe pongo el resultado, pero las respuestas me han dado la lucecilla que necesitaba.
ESTA VIVO, VIIIVO
jeje, vivo no pero al menos funcionando, esta es la función versión 1.0 tengo que cambiar bastante pero la base esta
////////////////////////
// Mostrar Cuadros //
////////////////////////
function adcuadro (ncuadros)
{
var contador=parseInt(ncuadros)
document.getElementById("c1").textContent = '';
for (var i=0; i<contador; i++){
document.getElementById("c1").innerHTML += '<img src="../../images/cuadro.jpg" onClick="cuadro(this)" id="1">';
}
}
muchisimas gracias, son unos puntales :)