我有一个输入数量可变的表单。我正在寻找的行为是有一个链接,用户可以在其中单击并向可填写的表单添加新输入。像这样的东西
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 :(得分:2)
通过以编程方式创建Textarea小部件来解决这个问题非常简单(如@Paul Grime所述)。您可以see my example here链接创建的所有textareas都是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);
}