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.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Primitiva</title>
<style type="text/css">
body {background-color:#cccccc;}
h1 {background-color:ddb1bc;
color:firebrick;
font-size: large;
text-align: center;}
</style>
<script language="javascript">
var primitiva=new Array(6);
function GenerarNumeros()
{
var i, j, k;
var intnumero;
var blnrepetido;
txtNumeros.value="";
for(i=0;i<6;i++)
{
do
{
blnrepetido = false;
intnumero = Math.floor(Math.random()*49)+1;
j = 0;
while( (j < i) && (blnrepetido==false))
{
if( primitiva[j] == intnumero)
blnrepetido = true;
j ++;
}
}
while(blnrepetido==true);
primitiva[i] = intnumero;
}
for(i=0;i<6;i++)
txtNumeros.value+=primitiva[i]+" ";
}
</script>
</head>
<body>
<h1> Primitiva </h1>
<p><input type="button" name="btnGenerarNumeros" value="GENERAR NÚMEROS" onclick="GenerarNumeros()"
style="width:250;"></p>
<p><input type="text" name="txtNumeros" size="20"> </p>
</body>
</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 ^^.
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
Disculpa, no veia lo de las etiquetas.
En la función de javascript nunca defines el objeto txtNumeros.
Debes hacer algo como así.
<!DOCTYPE html>
<html>
<head>
<title>Title</title>
<script type="text/javascript">
var num = 0;
function putValue() {
var elem = document.getElementById("myinput");
elem.value = num++;
}
</script>
</head>
<body>
<input type="text" id="myinput">
<input type="button" value="Ok" onclick="putValue()">
</body>
</html>
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.
Muchisimas gracias 0roch1, era justamente lo que buscaba.
Tienes razón, en ningun momento declaro la variable en el script.
Nuevamente, gracias!