Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Javascript y Html

Estas en el tema de Javascript y Html en el foro de Javascript en Foros del Web. Código HTML: <script> for (var i = 0; i < 5; i++) { </script> <input type= "submit" value= "botón i" /> <br/> <script> } </script> ...
  #1 (permalink)  
Antiguo 17/07/2013, 14:47
 
Fecha de Ingreso: julio-2013
Mensajes: 3
Antigüedad: 10 años, 9 meses
Puntos: 0
Pregunta Javascript y Html

Código HTML:
 <script>
                for (var i = 0; i < 5; i++) {
            </script>
                    <input type="submit" value="botón i" /><br/>
            <script>
                }
            </script> 
Existe alguna manera de hacer funcionar la idea que tengo? con php y html si funciona, quiero hacerlo ahora con javascript...

La idea de esto es evitar lo siguiente:

Código HTML:
 <script>
                for (var i = 0; i < 5; i++) {
                    var html = '<input type="submit" value="botón '+i+'" /><br/>';
                    document.write(html);
                }
            </script> 
  #2 (permalink)  
Antiguo 17/07/2013, 14:54
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Javascript y Html

No, tiene que usar document.write o si quiere hacerlo más elegante manipular el DOM. Quizá hasta un motor de plantillas en Javascript.

Saludos
__________________
Grupo Telegram Docker en Español
  #3 (permalink)  
Antiguo 17/07/2013, 14:56
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Javascript y Html

buenas...
se puede pero no de esa forma, al estilo php u otros lenguajes. una de las opciones es como la segunda forma que muestras, con document.write. otra forma sería mediante DOM. creas el elemento con document.createElement y luego lo agregas al documento con element.appendChild. en fin, si lo que buscas es el estilo de lenguajes de servidor, pues no. no se puede así.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 17/07/2013, 20:14
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 3 meses
Puntos: 29
Respuesta: Javascript y Html

Prueba con esto:

Código Javascript:
Ver original
  1. for(var i=0;i<5;i++){
  2.     var input=document.createElement('input');
  3.     input.type='submit';
  4.     input.value='boton'+i;
  5.     document.body.appendChild(input);
  6. }

No es exactamente lo que quieres pero sirve.

O puedes provar con innerHTML.

Código Javascript:
Ver original
  1. for(var i=0;i<5;i++){
  2.     document.getElementById('contenedor').innerHTML+='<input type="text" value="boton'+i+'" />';
  3. }

Última edición por patilanz; 17/07/2013 a las 20:27
  #5 (permalink)  
Antiguo 17/07/2013, 23:13
 
Fecha de Ingreso: julio-2013
Mensajes: 3
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Javascript y Html

Los objetivos de mi pregunta es solventar lo siguiente:
1. No crear código html como String ejm:
Código HTML:
var html = '<h1>Hola</h1>';
Esto simplemente para trabajar de forma limpia y fácil, porque si vamos a armar
una tabla compleja de esta forma, nos va a joder la paciencia. Por ejemplo omitir
un simple "/" o " ' " y encontrar donde nos falta esto dentro de un String
complejo es como encontrar una aguja en un pajar. Ojalá y me haya hecho
entender... gracias...
  #6 (permalink)  
Antiguo 18/07/2013, 06:31
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Javascript y Html

si bien es cierto que en ocasiones suele ser un enredo cuando se trabaja html en string, hasta cierto punto tiene ciertas ventajas comparadas con otras alternativas como la del DOM. en DOM tendrías que crear cada uno de los nodos —elementos y textos— e ir agregando al documento. en ocasiones, puede ser una tarea más pesada que trabajarlo con strings, especialmente si el html a crear no tiene un patrón repetitivo. en tu caso, podrías hacerlo con DOM, tal como el primer ejemplo que muestra @patilanz.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 18/07/2013, 12:22
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Javascript y Html

Definitivamente lo mejor que puedes hacer es por medio de DOM, aunque puede ser también algo engorroso.

Y si definitivamente es es algo muy complejo podrías usar un motor de plantilla como te he comentado: http://handlebarsjs.com/ (hay varios aquí: http://garann.github.io/template-chooser/ )

Y si es una RIA lo mejor sería usar un framework como AngularJS o Backbone.

Saludos
__________________
Grupo Telegram Docker en Español
  #8 (permalink)  
Antiguo 19/07/2013, 11:01
 
Fecha de Ingreso: julio-2013
Mensajes: 3
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Javascript y Html

Si, definitivamente un motor de de plantillas es lo mejor en este caso, gracias por sus aportes.
  #9 (permalink)  
Antiguo 19/07/2013, 11:04
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 3 meses
Puntos: 29
Respuesta: Javascript y Html

Que quereis decir con un motor de plantillas?
  #10 (permalink)  
Antiguo 19/07/2013, 11:08
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Javascript y Html

@patilanz ve los links que he puesto.

Saludos
__________________
Grupo Telegram Docker en Español
  #11 (permalink)  
Antiguo 19/07/2013, 11:19
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 3 meses
Puntos: 29
Respuesta: Javascript y Html

Cita:
Iniciado por Carlangueitor Ver Mensaje
@patilanz ve los links que he puesto.

Saludos
Es verda perdon .

Los vi y de verda estan muy bien, tambien creo que seria la mejor alternativa pero para algo mas grande.

Saludos

Etiquetas: funcion, html, input, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 18:07.