elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderadores: дٳŦ٭, #!drvy)
| | |-+  Problema con javascript: Document.write me tiene mania!!!!!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 Ir Abajo Respuesta Imprimir
Autor Tema: Problema con javascript: Document.write me tiene mania!!!!!  (Leído 3,286 veces)
Ikillnukes


Desconectado Desconectado

Mensajes: 1.350


También conocido como Seazoux.


Ver Perfil WWW
Problema con javascript: Document.write me tiene mania!!!!!
« en: 4 Abril 2013, 17:33 »

Hola!!! Buenas a todos, pues hoy he estado haciendo pruebas (ya llevo días) xD
Y bueno, pues me he hartado, lo que quiero hacer es meter el value de un input por dentro de un codigo html con un document.write, y que se lleve el link del juego y que lo meta dentro de un textarea para que luego con un $_POST se meta en la base de datos, el problema es que no va XD

Hay varios codes que son:

El script principal que no va:

Código
  1. function hola() {
  2. var value = document.getElementById("nombre").value;
  3. document.write("<select name=\"ver\" onChange=\"OnDropDownChange(this);\"><option selected=\"selected\">Selecciona el lenguaje</option><option>-----</option><option></option><option value=\"<script type='text/javascript' src='http://webplayer.unity3d.com/download_webplayer-3.x/3.0/uo/UnityObject.js'><\/script><script type='text/javascript'><!-- function GetUnity() { if (typeof unityObject != 'undefined') { return unityObject.getObjectById('unityPlayer'); } return null; } if (typeof unityObject != 'undefined') { var params = { backgroundcolor: '000000', bordercolor: '000000', textcolor: 'FFFFFF', disableContextMenu: true }; unityObject.embedUnity('unityPlayer', '" + value + "', document.documentElement.clientWidth, document.documentElement.clientHeight, params); } //--> --> <\/script> <div id='unityPlayer' style='width: 100%; height: 100%; visibility: visible;'><embed type='application/vnd.unity' style='display: block; width: 100%; height: 100%;' width='100%' height='100%' tabindex='0' backgroundcolor='000000' bordercolor='000000' textcolor='FFFFFF' disablecontextmenu='true' firstframecallback='unityObject.firstFrameCallback();' src='" + value + "'></div>\">Flash</option><option value=\"\">Java</option><option value=\"\">Unity3D</option><option value=\"\">iFrame</option></select>");
  4. }
  5.  
  6. document.write(hola());

Me salta un "undefined" después de la selectbox, pero además no funciona, porque no coje el value de nombre, nombre aquí esta:

Código:
 <b>Link del juego:</b>
    <input type="text" name="linkjuego" id="linkjuego" /><br>

El textarea:

Código:
<textarea id="trat" style="width: 490px; height: 60px;"></textarea>

El script del select que si va:

Código
  1. function OnDropDownChange(dropDown) {
  2.        var selectedValue = dropDown.options[dropDown.selectedIndex].value;
  3.        document.getElementById("trat").value = selectedValue;
  4.    }

Y bueno, pues eso es todo, a ver quien me hecha una mano, un saludo! :)
PD: Quien lo quiera probar que se meta aquí: http://ikillcraft.a0001.net/formulario.php


« Última modificación: 4 Abril 2013, 19:15 por Seazoux » En línea

#!drvy
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.457



Ver Perfil WWW
Re: Problema con javascript: Document.write me tiene mania!!!!!
« Respuesta #1 en: 4 Abril 2013, 20:41 »

A la hora de llamar la funcion hola(), el value de "nombre" esta vació, por eso te retorna "undefined".

Saludos


En línea

Blog Twitter GitHub IRC: irc.freenode.net/6667 - #ircehn
while(!$happiness){ keepTrying(); /* harder.. */ }
Ikillnukes


Desconectado Desconectado

Mensajes: 1.350


También conocido como Seazoux.


Ver Perfil WWW
Re: Problema con javascript: Document.write me tiene mania!!!!!
« Respuesta #2 en: 4 Abril 2013, 20:49 »

Okey, y como hago que lo detecte automaticamente, algo así que cuando lo pongas se vaya actualizando solo¿ No soy tan pro xD
En línea

#!drvy
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.457



Ver Perfil WWW
Re: Problema con javascript: Document.write me tiene mania!!!!!
« Respuesta #3 en: 4 Abril 2013, 21:03 »

Para empezar, olvídate de document.write.. es algo del siglo pasado. Usa innerHTML para escribir dentro de un div. Sobre cuando añadir la lista... puedes utilizar onblur para llamar a la funcion hola(). Asi, solo cuando el campo "nombre" pierda el foco, este se cambiara.. también puedes hacerlo a lo bestia y utilizar onkeypress.

Código
  1. <input type="text" name="nombre" id="nombre" onkeypress="hola()">
Código
  1. <div id="tipo_juego"></div>
  2. function hola() {
  3. var value = document.getElementById("nombre").value;
  4. var div = document.getElementById("tipo_juego");
  5. div.innerHTML = "<select name=\"ver\" onChange=\"OnDropDownChange(this);\"><option selected=\"selected\">Selecciona el lenguaje</option><option>-----</option><option></option><option value=\"<script type='text/javascript' src='http://webplayer.unity3d.com/download_webplayer-3.x/3.0/uo/UnityObject.js'><\/script><script type='text/javascript'><!-- function GetUnity() { if (typeof unityObject != 'undefined') { return unityObject.getObjectById('unityPlayer'); } return null; } if (typeof unityObject != 'undefined') { var params = { backgroundcolor: '000000', bordercolor: '000000', textcolor: 'FFFFFF', disableContextMenu: true }; unityObject.embedUnity('unityPlayer', '" + value + "', document.documentElement.clientWidth, document.documentElement.clientHeight, params); } //--> --> <\/script> <div id='unityPlayer' style='width: 100%; height: 100%; visibility: visible;'><embed type='application/vnd.unity' style='display: block; width: 100%; height: 100%;' width='100%' height='100%' tabindex='0' backgroundcolor='000000' bordercolor='000000' textcolor='FFFFFF' disablecontextmenu='true' firstframecallback='unityObject.firstFrameCallback();' src='" + value + "'></div>\">Flash</option><option value=\"\">Java</option><option value=\"\">Unity3D</option><option value=\"\">iFrame</option></select>";
  6. }

PD: Te recomiendo organizar un poco el JS.

Saludos
« Última modificación: 4 Abril 2013, 21:11 por drvy | BSM » En línea

Blog Twitter GitHub IRC: irc.freenode.net/6667 - #ircehn
while(!$happiness){ keepTrying(); /* harder.. */ }
Ikillnukes


Desconectado Desconectado

Mensajes: 1.350


También conocido como Seazoux.


Ver Perfil WWW
Re: Problema con javascript: Document.write me tiene mania!!!!!
« Respuesta #4 en: 4 Abril 2013, 22:00 »

Bueno, ya lo he reorganizado y todo pero sigue sin funcionar el value de aquí:

Citar
div.innerHTML = "<select name=\"ver\" onChange=\"OnDropDownChange(this);\"><option selected=\"selected\">Selecciona el lenguaje</option><option>-----</option><option></option><option value=\"<script type='text/javascript' src='http://webplayer.unity3d.com/download_webplayer-3.x/3.0/uo/UnityObject.js'><\/script><script type='text/javascript'><!-- function GetUnity() { if (typeof unityObject != 'undefined') { return unityObject.getObjectById('unityPlayer'); } return null; } if (typeof unityObject != 'undefined') { var params = { backgroundcolor: '000000', bordercolor: '000000', textcolor: 'FFFFFF', disableContextMenu: true }; unityObject.embedUnity('unityPlayer', '" + value + "', document.documentElement.clientWidth, document.documentElement.clientHeight, params); } //--> --> <\/script> <div id='unityPlayer' style='width: 100%; height: 100%; visibility: visible;'><embed type='application/vnd.unity' style='display: block; width: 100%; height: 100%;' width='100%' height='100%' tabindex='0' backgroundcolor='000000' bordercolor='000000' textcolor='FFFFFF' disablecontextmenu='true' firstframecallback='unityObject.firstFrameCallback();' src='" + value + "'></div>\">Flash</option><option value=\"\">Java</option><option value=\"\">Unity3D</option><option value=\"\">iFrame</option></select>";

 :-\ :-\

He utilizado un body onload="hola()" eso afecta en algo?  :huh:
En línea

#!drvy
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.457



Ver Perfil WWW
Re: Problema con javascript: Document.write me tiene mania!!!!!
« Respuesta #5 en: 4 Abril 2013, 22:07 »

onload es al cargar  y sigues con el mismo problema :silbar:

Saludos
En línea

Blog Twitter GitHub IRC: irc.freenode.net/6667 - #ircehn
while(!$happiness){ keepTrying(); /* harder.. */ }
Ikillnukes


Desconectado Desconectado

Mensajes: 1.350


También conocido como Seazoux.


Ver Perfil WWW
Re: Problema con javascript: Document.write me tiene mania!!!!!
« Respuesta #6 en: 5 Abril 2013, 15:03 »

Vamos a ver ya cambie el nombre, y quite el onload del body, pero entonces no carga xDDD

Y si pongo el onload tampoco va, pero si carga.  :-\
En línea

#!drvy
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.457



Ver Perfil WWW
Re: Problema con javascript: Document.write me tiene mania!!!!!
« Respuesta #7 en: 5 Abril 2013, 15:14 »

A ver, has probado poniendo TODO tal y como te lo he puesto en el otro post ? Porque yo si.. y funciona perfectamente...

Saludos
En línea

Blog Twitter GitHub IRC: irc.freenode.net/6667 - #ircehn
while(!$happiness){ keepTrying(); /* harder.. */ }
Ikillnukes


Desconectado Desconectado

Mensajes: 1.350


También conocido como Seazoux.


Ver Perfil WWW
Re: Problema con javascript: Document.write me tiene mania!!!!!
« Respuesta #8 en: 5 Abril 2013, 15:16 »

A que soy gilipollas y en mi casa aún no lo saben, joder tio estoy apollardao xD
Estoy intentado poner el input que no es, le estaba poniendo el id de nombre, y era el de linkjuego xD
Gracias por la ayuda, coño tantos inputs y mierdas ya lian xD Ayer me paso lo mismo... Soy un poco retarded a veces sorry xD

----

Que piensas sinceramente sobre estos despistes, opina por favor, necesito que me den una ostia como una catedral xD
« Última modificación: 5 Abril 2013, 15:27 por Seazoux » En línea

#!drvy
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.457



Ver Perfil WWW
Re: Problema con javascript: Document.write me tiene mania!!!!!
« Respuesta #9 en: 5 Abril 2013, 15:39 »

Jajjaa na a mi me pasa constantemente... sobre todo cuando tengo que recoger información de quinientosmiltrescientoscincuenta inputs xD

Saludos
En línea

Blog Twitter GitHub IRC: irc.freenode.net/6667 - #ircehn
while(!$happiness){ keepTrying(); /* harder.. */ }
Ikillnukes


Desconectado Desconectado

Mensajes: 1.350


También conocido como Seazoux.


Ver Perfil WWW
Re: Problema con javascript: Document.write me tiene mania!!!!!
« Respuesta #10 en: 5 Abril 2013, 15:49 »

Una cosa, tengo que escapar unas cosillas, pero no van  :-[

Citar
<option value=\"<object type=\"application/x-shockwave-flash\" data=\"" + value + "\" width=\"550\" height=\"400\"><param name=\"movie\" value=\"" + value + "\" /><param name=\"quality\" value=\"high\" /><\/object>\">Flash</option><option value=\"<APPLET CODE=\"" + value + "\" WIDTH=\"ancho\" HEIGHT=\"alto\"></APPLET>\">Java</option>

Pero nada, que no se como, he probado con \ y separando el / del > así: / > pero nada. :(
En línea

#!drvy
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.457



Ver Perfil WWW
Re: Problema con javascript: Document.write me tiene mania!!!!!
« Respuesta #11 en: 5 Abril 2013, 16:44 »

Supongo que todo eso lo vas a guardar en una base de datos verdad ? Puesto que lo único que necesitas de ahí, es el value, ¿ no seria mas logico que guardaras solo el value y luego ya añadir el applet ?

Osease, guardas solo el value, y luego cuando lo vayas a imprimir, imprimes todo eso y le agregas value. Créeme, te va a hacer la vida mas fácil y te vas a evitar muchos problemas de seguridad.

Saludos
En línea

Blog Twitter GitHub IRC: irc.freenode.net/6667 - #ircehn
while(!$happiness){ keepTrying(); /* harder.. */ }
Ikillnukes


Desconectado Desconectado

Mensajes: 1.350


También conocido como Seazoux.


Ver Perfil WWW
Re: Problema con javascript: Document.write me tiene mania!!!!!
« Respuesta #12 en: 5 Abril 2013, 16:56 »

Pero, a ver, lo voy a meter todo como una variable... Así que no ser como añado esa variable, como?

A ver explica xD Es que no entiendo muy bien...  :P
En línea

#!drvy
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.457



Ver Perfil WWW
Re: Problema con javascript: Document.write me tiene mania!!!!!
« Respuesta #13 en: 5 Abril 2013, 17:44 »

A ver.. esto es complicado de explicar xD Te voy a mostrar un ejemplo que creo que te servirá mejor.

A ver, te lo planteo asi. Porque necesitas escribir guardar 3 veces el link del juego (en el input, en el select y en el textarea) cuando con 1 sola ya te vale ?. Miralo asi, tu haces que el select solo tenga el tipo de juego y luego en con PHP te encargas del resto. Te explico.

Imaginate que tienes este SIMPLE formulario:
Código
  1. <form action="envio.php" method="POST">
  2.   <input type="text" value="" name="link_juego" />
  3.   <select name="tipo_de_juego">
  4.      <!-- disabled="disabled" no permite seleccionar ese elemento -->
  5.      <option value="" selected="selected" disabled="disabled">Selecciona el lenguaje</option>
  6.      <option value="" disabled="disabled">---</option>
  7.      <!-- Agregamos el tipo de juego -->
  8.      <option value="flash">Flash</option>
  9.      <option value="java">Java</option>
  10.      <option value="unity">Unity</option>
  11.      <option value="iframe">iFrame</option>
  12.   </select>
  13.   <!-- Enviamos formulario -->
  14.   <input type="submit" value="enviar" />
  15. </form>

Bien, cuando el usuario lo rellene y lo envía, tu guardas los valores en la BD y luego cuando te toque comprobarlos, con PHP, puedes comprobar cual es el valor que ha guardado el select y a partir de ahí sacar el resto del código. Por ejemplo:

Código
  1. <?php
  2. /* Conexion a bd blablablabla */
  3. /* En la consulta coges el link del juego y el tipo de juego.. */
  4. $query = "SELECT link_juego,tipo_juego FROM juegos WHERE blablablabla";
  5. /* while($row=$result->fech_assoc())
  6.    blalbalbla
  7. */
  8.  
  9. // Comprobamos que tipo de juego es:
  10. if($tipo_juego==='unity'){
  11.   echo '<object blablalbalbalblalba src="'.$row['link_juego'].'" blablabla></object>';
  12. } elseif($tipo_juego==='flash'){
  13.   echo '<object flash blablalbalbalblalba src="'.$row['link_juego'].'" blablabla></object>';
  14. } elseif($tipo_juego==='iframe'){
  15.   echo '<iframe src="'.$row['link_juego'].'" bla blablab lba></iframe>';
  16. } else {
  17.   echo 'Tipo de juego desconocido. Link:'.$row['link_juego'];
  18. }
  19. ?>

De esta forma no te hace falta ningun javascript y yo creo que esta mucho mejor optimizado y mas seguro...

Saludos
En línea

Blog Twitter GitHub IRC: irc.freenode.net/6667 - #ircehn
while(!$happiness){ keepTrying(); /* harder.. */ }
Páginas: [1] 2 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.19 | SMF © 2006-2008, Simple Machines