2016-06-24 19 views
0

チェックJSfiddle:https://jsfiddle.net/a7a0fa3g/ I次のコードを持っている:イベントリスナーを追加javascriptのボタン

var z = 1; 
function myFunction() { 
    var x = document.getElementById("inptext").value; 
    var y = document.getElementById("inpadress").value; 
    document.getElementById("tablename").innerHTML = document.getElementById("tablename").innerHTML + '<tr><td>' + x + '</td><td>' + y + '</td></tr>'; 
    var h = '<button style="margin-left:8px" class="edit" id=vda' + z + '>Edit</button>'; 
    var w = '<button style="margin-left:4px" class="deleteit" id=a' + z + '>Remove</button>'; 
    var f = '<div id=zzza'+z+' style=height:10px></div>'; 
    z = z + 1; 
    var total = h + w + f ; 
    document.getElementById("buttons").innerHTML = document.getElementById("buttons").innerHTML + total; 
} 
私は、z = Z + 1次のコードの前に追加してみました

:また

var id = 'vda'+z; 


document.getElementById(id).addEventListener('click', doSomething, false); 

function doSomething() { 
    alert('Button clicked'); 
} 

しかし、それは完全に機能していません。

+0

とアサインidは私たちにjsfiddleか何かを提供するので、我々は試すことができたときにあなたが "" 必要があり、何が間違っているのかを確認する –

+0

クリックイベントリスナーを設定する前にDOMに 'f'を追加してください。今あなたの投稿されたコードにはコンテキストがありません、 'id'は何ですか? –

+0

idは私が定義した変数です。var id = 'vda' + z; – josh

答えて

0

addEventListernerはselect要素がnullの場合(htmlには存在しないため)、addEventListernerの前にボタン要素を追加してください。

var z = 1; 
myFunction(); 
function myFunction() { 
    var x = document.getElementById("inptext").value; 
    var y = document.getElementById("inpadress").value; 
    document.getElementById("tablename").innerHTML = document.getElementById("tablename").innerHTML + '<tr><td>' + x + '</td><td>' + y + '</td></tr>'; 
    var h = '<button style="margin-left:8px" class="edit" id="vda'+z+'">Edit</button>'; 
    var w = '<button style="margin-left:4px" class="deleteit" id="a' + z +'">Remove</button>'; 
    var f = '<div id=zzza'+z+' style=height:10px></div>'; 
    //add button first before event attach 
    var total = h + w + f ; 
    document.getElementById("buttons").innerHTML = document.getElementById("buttons").innerHTML + total; 
    var id = 'vda'+z; 
    document.getElementById(id).addEventListener('click', doSomething, false); 
    z = z + 1; 
} 

ノート のjs VAR 誤った

var h = '<button style="margin-left:8px" class="edit" id=vda' + z + '>Edit</button>'; 

正しい

var h = '<button style="margin-left:8px" class="edit" id="vda' + z + '">Edit</button>'; 
関連する問題