Javascript 如何生成<;表格:输入>;从JS动态标记?
我需要从JS动态生成两种类型的字段,带有特定的标记Javascript 如何生成<;表格:输入>;从JS动态标记?,javascript,html,dom,Javascript,Html,Dom,我需要从JS动态生成两种类型的字段,带有特定的标记和。 第一个应为输入字段,第二个必须隐藏。 问题是,没有被识别为输入,并且根本没有显示。但是可以从页面源代码中看到 if (bank != null) { var fields = bank.additionalFields; var additionalRows = document.getElementById("additionalRows"); for (i = 0; i < fields.length; i
和
。
第一个
应为输入字段,第二个必须隐藏。
问题是,
没有被识别为输入,并且根本没有显示。但是可以从页面源代码中看到
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);
}
}
if(bank!=null){
var字段=bank.additionalFields;
var additionalRows=document.getElementById(“additionalRows”);
对于(i=0;i
JSP生成的其他
字段正确显示在页面上。
链接到生成的页面源代码>>
怎么解决呢?你想做的事情很可能无法完成
和
似乎是服务器端标记-这就是为什么它们只在java端工作
您可以使用javascript以类似于当前方法的方式生成常规和标记:
var formInput = document.createElement("input");
var formHidden = document.createElement("input");
formInput.setAttribute("type", "text");
formHidden.setAttribute("type", "hidden");
然后将它们附加到表单中。似乎您正在尝试使用客户端代码生成服务器端代码。您需要在客户端插入普通的输入标记-而不是jsp ONE。formHidden也可以是
document.createElement(“输入”)
是的,但是稍后我收集了用户插入到
的所有数据,这些数据通过运行所有
@user2595541的单个方法selectMethodForm
,如果您需要进一步处理表单数据,您需要将其发布到服务器并以这种方式处理,或者更改生成这些标记的方法。您可能希望了解“JSP元素的动态生成”。目前,您不能以这种方式混合使用浏览器/客户端(Javascript)和服务器(JSP)代码。