2

我有一个输入数量可变的表格。我正在寻找的行为是有一个链接,用户可以单击该链接并将新输入添加到可以填写的表单中。像这样的东西

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() 上来做到这一点,但这也不起作用!:(

4

1 回答 1

2

通过以编程方式创建 Textarea 小部件(如 @Paul Grime 所述)来解决这个问题非常简单。您可以在此处查看我的示例,其中链接创建的所有文本区域都是 Dijit 小部件。我没有在我的小提琴中使用 jQuery,但你需要做的就是将你的add_new_input函数更改为

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);
}   
于 2013-04-05T01:45:56.640 回答