如何生成<表单:输入>从JS动态标记
How to generate <form:input> tags dynamically from JS?
我需要生成两种类型的字段,并从JS动态生成特定的标记<form:input>
和<form:hidden>
。第一个<form:input>
应该是一个输入字段,第二个必须隐藏。问题是<form:input>
没有被识别为输入,而且根本没有显示出来。但它可以从页面的源代码中看到。
if (bank != null) {
var fields = bank.additionalFields;
var additionalRows = document.getElementById("additionalRows");
for (i = 0; i < fields.length; i++) {
//from here generates jsp inputs:
//1 - <form:input>
//2 - <form:hidden> for each element from fields
var formInput = document.createElement("form:input");
var formHidden = document.createElement("form:hidden");
formInput.setAttribute("path", "paymentInfo.fields[" + i + "].value");
formHidden.setAttribute("path", "paymentInfo.fields[" + i + "].id");
formInput.setAttribute("type", "text");
formHidden.setAttribute("type", "text");
formInput.setAttribute("value", "");
formHidden.setAttribute("value", fields[i].id);
additionalRows.appendChild(formInput);
additionalRows.appendChild(formHidden);
}
}
从JSP生成的其他<form:input>
字段正确地显示在页面上。链接到生成的页面源代码>>https://dl.dropboxusercontent.com/u/106355152/form_input.PNG如何解决?
您想要做的事情可能无法完成。<form:input>
和<form:hidden>
似乎是服务器端标签——这就是为什么它们只在java端工作的原因。
您可以使用javascript以类似于当前方法的方式生成常规和标记:
var formInput = document.createElement("input");
var formHidden = document.createElement("input");
formInput.setAttribute("type", "text");
formHidden.setAttribute("type", "hidden");
然后将它们附加到表单中。
相关文章:
- JS动态添加字段-删除按钮不起作用
- 尝试使用Node.js动态路由从IMDB中抓取电影内容.但是在我的output.json文件中没有定义
- 使用Knockout.js动态更改facebook数据
- Three.js |动态生成BezierCurve
- 使用d3plus.js动态更改网络图表
- 如何为 Flot JS 动态创建数据集
- 角度 JS 动态选项卡字段
- 进度条.js动态设置文本
- 使用vue.js动态设置v-for
- D3.js-动态更改序数刻度
- URL重写Node js-动态URL
- 如何使用JS动态更新innerHTML
- PHP/JS:动态Dropboxes和回显SELECTED值
- 使用chart.js动态添加图表
- JSON值使用process.env[node.js]动态更新
- 如何在ng-options中添加两个索引,并使用Angular.js动态设置值
- 使用 eval() JS 动态创建对象
- D3.js动态设置节点可见性
- 挖空.js动态生成的 HTML 没有得到更新
- JS - 动态选择视频坐标