2013-04-04 2 views
2

가변 개수의 입력이있는 양식이 있습니다. 내가 찾고있는 동작은 사용자가 클릭하여 채울 수있는 양식에 새 입력을 추가 할 수있는 링크가있는 것입니다. 이페이지에 새로운 Dijit 위젯을 추가하는 방법은 무엇입니까?

HTML과 같은 :

<form id="myform"> 
    <input data-dojo-type="dijit.form.Textarea"/> 
    <a href="#" onclick="add_new_input()"> add a new input</a> 
</form> 

JAVASCRIPT :

<script> 
    function add_new_input(){ 
    var newInput = $("<input data-dojo-type='dijit.form.Textarea'/> "); 
    $('#myform').append(newInput); 
    } 
</script> 

이는 HTML이 아닌는 Dijit 위젯에 일반 텍스트 입력을 추가합니다! 의견이 있으십니까?

또한 입력 파일에 대한 클래스를 정의하고 입력 유형을 ($ document) .ready()에 바인딩해도이 작업을 수행 할 수 없습니다. :

+0

그 방법으로 추가하는 것이 충분한 지 모르겠다. (dijit 레퍼런스를 만들기 위해) dojo를 가져 와서 새로운 내용을 파싱하거나 프로그램으로 dijit을 생성해야한다. e. '새 텍스트 영역 ({...}, "_ 새 _ 입력 _)"). –

+0

죄송합니다, 제대로 게시되지 않은 jsfiddle (또는 유사), 내가 ' – Amin

+1

게시물을 편집 사용할 수

function add_new_input(){ var newInput = new Textarea({ // Your custom properties here. }); domConstruct.place(newInput.domNode, "myform"); // Can alternatively place it as so if you don't want to use the // dojo/dom-construct module... // dojo.byId('myform').appendChild(newInput.domNode); // Or with jQuery... // $("myform").append(newInput.domNode); } 

답변

2

Textarea 위젯을 프로그래밍 방식으로 (@Paul Grime에서 언급했듯이) 만들면 매우 간단합니다. see my example here 링크로 만든 모든 텍스트 영역은 Dijit 위젯입니다 .jQuery를 사용하지 않았습니다. 내 바이올린,하지만 당신이 할 필요가 변경되어 사용자의 add_new_input 기능

당신이 예를 게시 할?
관련 문제