Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: skarih en 30 Septiembre 2015, 21:07 pm



Título: javascript código
Publicado por: skarih en 30 Septiembre 2015, 21:07 pm
Buenas a todos/as,

Escribo porque tengo una gran duda y no he encontrado la manera de resolverla (es algo simple, pero no encuentro la manera de realizarlo).

La cuestion es la siguiente: tengo el siguiente código que genera un número de lotería, pero a la hora de darle al botón ha de ir a una función de javascript para que haga todo el proceso. El problema que tengo es que no se por qué los números no aparecen dentro del "input" que tengo en el html.
Código
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2.  
  3. <html>
  4. <head>
  5. <title>Primitiva</title>
  6.  <style type="text/css">
  7.  body {background-color:#cccccc;}
  8.  
  9.  h1 {background-color:ddb1bc;
  10.      color:firebrick;
  11.      font-size: large;
  12.      text-align: center;}
  13.    </style>
  14. <script language="javascript">
  15. var primitiva=new Array(6);
  16.  
  17. function GenerarNumeros()
  18.  {
  19.  
  20. var i, j, k;
  21.        var intnumero;
  22.        var blnrepetido;
  23.        txtNumeros.value="";
  24.  
  25.      for(i=0;i<6;i++)
  26.        {
  27.            do
  28.              {
  29.                blnrepetido = false;
  30.                intnumero = Math.floor(Math.random()*49)+1;
  31.                j = 0;
  32.                while( (j < i) && (blnrepetido==false))
  33.                   {
  34.                    if( primitiva[j] == intnumero)
  35.                        blnrepetido = true;
  36.                    j ++;
  37.                    }
  38.               }    
  39.            while(blnrepetido==true);
  40.            primitiva[i] = intnumero;
  41.              }
  42.      for(i=0;i<6;i++)
  43.      txtNumeros.value+=primitiva[i]+"  ";
  44.      }
  45.  
  46.    </script>
  47. </head>
  48.  
  49. <body>
  50. <h1>&nbsp;Primitiva&nbsp;</h1>
  51. <p><input type="button" name="btnGenerarNumeros" value="GENERAR NÚMEROS" onclick="GenerarNumeros()"
  52.   style="width:250;"></p>
  53. <p><input type="text" name="txtNumeros" size="20"> </p>
  54.  
  55. </body>
  56. </html>

Muchas gracias de antemano. Mi razonamiento me dice que tiene que ver con -- txtNumeros.value+=primitiva+" ";

Un saludo y espero más que sea una respuesta ^^.


Título: Re: javascript código
Publicado por: Eleкtro en 30 Septiembre 2015, 21:14 pm
Por favor, publica correctamente el post usando las etiquetas Geshi para darle formato al código y que lo podamos leer sin problema, no nos hagas tener que copiar y pegarlo.

Lee las normas del subforo de programación general.

Saludos


Título: Re: javascript código
Publicado por: skarih en 30 Septiembre 2015, 21:27 pm
Disculpa, no veia lo de las etiquetas.


Título: Re: javascript código
Publicado por: 0roch1 en 30 Septiembre 2015, 21:52 pm
En la función de javascript nunca defines el objeto txtNumeros.

Debes hacer algo como así.

Código
  1. <!DOCTYPE html>
  2. <head>
  3. <title>Title</title>
  4. <script type="text/javascript">
  5. var num = 0;
  6. function putValue() {
  7. var elem = document.getElementById("myinput");
  8. elem.value = num++;
  9. }
  10. </script>
  11.  
  12. </head>
  13. <body>
  14. <input type="text" id="myinput">
  15. <input type="button" value="Ok" onclick="putValue()">
  16. </body>
  17. </html>
  18.  

Si observas verás que se define el elemento elem mediante la función getElementById, también puedes obtener el elemento mediante la función getElementsByName pero es más común por el id.

Si obtienes el elemento por id, claro está que debes tener definida la propiedad id para la etiqueta input en este caso.



Título: Re: javascript código
Publicado por: skarih en 30 Septiembre 2015, 22:10 pm
Muchisimas gracias 0roch1, era justamente lo que buscaba.

Tienes razón, en ningun momento declaro la variable en el script.

Nuevamente, gracias!