Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/09/2013, 02:44
tdguchi
 
Fecha de Ingreso: septiembre-2013
Mensajes: 3
Antigüedad: 8 años, 11 meses
Puntos: 0
Pregunta Generador de posts con javasript

Buenos días, estoy haciendo un generador de posts php con html5+css3+js la estructura del html, es la siguiente:

Tengo dos opciones, (son tipo radio) al hace click en una de ellas, se cambia con js de display:none a block un div con nuevas opciones

El esquema se repite con este bloque, según la opcion que se escoja, aparece un generador u otro cambiando none a block, según el radio que sea seleccionado

(por ejemplo, uno de peliculas, o uno de series, uno de juegos)

En cada generador hay distintos campos la gran mayoría de este estilo

Código HTML:
Ver original
  1. <div class="portada">Portada Película: * <input class="muylargo" id="portada" type="url" placeholder="http://www.url.com"></div>

y luego al final de cada generador tengo

Código HTML:
Ver original
  1. <input type="button" class="boton2" onclick="postpel()" value="Generar Post"><br><br>
  2. <p class="texto">Copia el contenido del cuadro que está debajo en el post del foro</p>
  3. <textarea name="gen2" cols="100" rows="20" id="gen2" onclick="javascript:formulario.gen.focus();formulario.gen.select();">Post No Generado</textarea

Al hace click, se lee el contenido de los input, se le añaden algunos bbcode ([img] [spoiler] [b]...) y se muestra todo en el textarea de nombre gen2

El problema viene cuanto intento hacer el código js lo mas "apretadito" posible para que el código sea lo mas pequeño posible...

si en todos los generadores, pongo el mismo id para el input "portada" luego en el js al hacer lo siguiente:

Código Javascript:
Ver original
  1. if (document.getElementById("portada").value != ""){
  2.         txt = "";
  3.         txt += "[rimg]";
  4.         txt += document.getElementById("portada").value;
  5.         txt += "[/rimg]";
  6.         document.getElementById("gen2").value += txt;
  7.     }


Aunque yo haya escrito en series, como películas está antes, (y ambos input tienen el mismo id) lo toma como vacío y no escribe nada... tengo que cambiar el id del input a "portada1" "portada2" y duplicar el if en el js....

Me gustaría saber si hay alguna forma de evitar esto, no tengo muchos conocimientos de js, voy aprendiendo poco a poco...

Quisiera una forma de poder llamar a todos los input portada con el id="portada" y que el js busque no solo en el primero, sino en el generador que está seleccionado, ademas de seleccionar el textarea que aparece con el generador

os pongo un enlace de google drive al generador, por si mi explicación no ha sido muy precisa:

https://googledrive.com/host/0B4CJd_I89bvVNmJoR1VQZlJ2WXc/nuevo.html

gracias, un saludo

Última edición por tdguchi; 05/09/2013 a las 03:23 Razón: Añadir highlights