Problema con formularios y javascript

n1x3r

Hola, estoy creando un formulario que consta de varios botones, este formulario se genera automáticamente con la carga de un script, los botones se crean sin problema, pero el problema esta que estos botones tiene una función onclick que se implementa pero solo funciona el ultimo de los botones creados.

var items = [
		['Asteroids','asteroids'],
		['Centipede','centipede'],
		['Years Revenge','yearsrevenge'],
		['Millipede','millipede'],
		['Tempest','tempest']];





control = document.getElementById('GamesNX'); 
for(var i in items){
ele = document.createElement('input');
ele.type = 'button';
ele.value = items[i][0];
ele.id = items[i][0];
ele.onclick = function () {game(items[i][1]);}
control.appendChild(ele);
}

Ese es el código, como veréis recorro un array y voy creando los botones, tantos, como elementos tenga el array. El problema es que los botones no funcionan correctamente ya que solo ejecutan la función onclick del ultimo botón generado.

No se como añadirles una id o algo para que cada uno tenga su función onclick diferente.

n1x3r

Me respondo a mi mismo, he creado una función pasando los parametros y creando esta el contenido, asi no tnego problemas:

function create(a,b){
ele = document.createElement('input');
ele.type = 'button';
ele.value = a;
ele.id = a;
ele.onclick = function () {game(b);}
control.appendChild(ele);
}

window.onload = function() {

var items = [
		['Asteroids','asteroids'],
		['Centipede','centipede'],
		['Years Revenge','yearsrevenge'],
		['Millipede','millipede'],
		['Tempest','tempest']];





control = document.getElementById('GamesNX'); 
for(var i in items){
create(items[i][0],items[i][1]);
}



ele = document.createElement("div"); 
ele.id = "fiel";
control.appendChild(ele);




}

Usuarios habituales

  • n1x3r