2014-04-09 2 views
1

내가 버튼을 추가하는 코드를 사용하고 속성을 추가합니다. 지금은 onClick 속성을 추가하고 :자바 스크립트 onclick을 가진 버튼을 동적으로

document.getElementById("items").innerHTML=document.getElementById("items").innerHTML+ 
    ('<input type="button" onClick="alert("'+document.getElementById("add").value+'")" 
    value="'+document.getElementById("add").value+'"><br>'); 

내가 버튼을 클릭하면 버튼 이름 (add 버튼 ID입니다)와 경고를 표시합니다. 그러나 아무 경고도 표시되지 않았습니다. 아마 버튼을 추가하고 있기 때문에 내가 실수로 onClick을 만들었습니다.
내 코드가 뭐니?

+6

아마 상상할 수있는 요소를 추가하는 가장 나쁜 방법일까요? – adeneo

+0

아마)))하지만 뭐가 잘못 되었나요? – nicael

답변

9

그것을

var items = document.getElementById("items"), 
    button = document.createElement('input'), 
    br  = document.createElement('br'), 
    add = document.getElementById("add").value; 

button.type = 'button'; 
button.value = add; 
button.addEventListener('click', function() { 
    alert(add); 
}, false); 

items.appendChild(button); 
items.appendChild(br); 
+1

젠장, 너는 나를 때렸다. –

+1

호환성 관찰 : Internet Explorer에서 addEventListener()는 버전 9 이상에서만 지원됩니다. 나는'button.onclick = function() {...}'을 제안 할 것이다. – karliwson

+1

@Kekas'onclick'은 하나의 이벤트 만 지원하며, 여러 이벤트가 가능합니다. 이전 버전에서는'attachEvent'가 당신이 사용할 것이라고 믿습니다. –

0

내가 그것을 어떻게 관리하는 적절한 방법을 수행!

document.getElementById("items").innerHTML=document.getElementById("items").innerHTML 
+('<input type="button" onClick="alert(\''+document.getElementById("add").value+'\')" 
value="'+document.getElementById("add").value+'"><br>') 

나는 경고에 " \' (작은 따옴표)와 (큰 따옴표)를 교체했다.
작동, 버튼 추가, 경고 표시.

+0

문제를 해결할 수있을 때 자신의 답변을 올리십시오. 그러나 이것은 여전히 ​​발명 된 요소를 추가하는 가장 현명한 방법이므로 재 작성을 고려해야합니다. – adeneo

+0

감사합니다. adeneo – nicael

관련 문제