2011-06-14 3 views
2

이것은 멍청한 질문이지만 어떤 이유로 든 알아낼 수 없거나 간단한 예제를 찾을 수 없습니다. 버튼을 클릭하면 같은 이름의 텍스트 상자가 생성됩니다.onclick은 텍스트 상자를 만듭니다

<input type="button" value="Show" onclick="blah" /> 
<!-- Button Gets Clicked --> 
<input type="text" name="added1" /> 
<!-- Button Gets Clicked --> 
<input type="text" name="added2" /> 
<!-- Button Gets Clicked --> 
<input type="text" name="added3" /> 

어쩌면 javascript !? 어떤 아이디어?

HTML :

<input type="button" value="Show" id="add_btn" /> 

답변

6

인라인 자바 스크립트는 더 나은

<input type="button" value="Show" onclick="var e = document.createElement('input'); e.type='text'; e.name = 'added'+this.rel; this.rel = parseFloat(this.rel)+1; this.parentNode.appendChild(e); return false;" /> 

은 스크립트에서 프리젠 테이션을 분리하는 ...이 접근하는 가장 좋은 방법은 아니지만, 크로스 브라우저 자바 스크립트 :

,
var handler_func = function() { 
    var i = (typeof this.rel != 'undefined') && (this.rel - 0) == this.rel ? this.rel : 0; 
    var e = document.createElement('input'); 
    e.type='text'; 
    e.name = 'added'+i; 
    this.rel = i+1; 
    this.parentNode.appendChild(e); 
    return false;  
} 

var add_btn = document.getElementById('add_btn'); 
if(add_btn.attachEvent) 
     add_btn.attachEvent('onClick', handler_func); 
else if(add_btn.addEventListener) //Firefox & company 
     add_btn.addEventListener('click', handler_func, false); 

바이올린 :

+0

'this.rel'의 사용은 무엇입니까 http://jsfiddle.net/rkYpD/1/? – Midas

+1

Internet Explore 7이 영원히 사라질 때까지 소규모 요소 스토리지를 사용하는 저렴한 방법. 카운터의 'rel' 속성에 카운터를두면 전역 변수가 사용되지 않습니다. –

+0

'this.rel'이 정의되지 않은 경우 기본값을 사용해야합니까? 이거. 0' – Chris

관련 문제