问题描述
- web JavaScript jsp
- 我想用javascript做做动态页面,在一个table中 有一个 添加 按钮 当一点击就会动态
生成一行 的input的文本输入框 , 还有就只做好后怎么在服务器端提取呢 这个动态生成的文本框中的内容 (我用的是jsp 将表单 提交到servlet中) 求代码 多谢了
解决方案
1.在form表单设置一个隐藏输入域name 为 totalInputid值为totalInput
在js中定义一个全局变量 var i=0;
每点击一下添加按钮,i+1; 然后给id为totalInput的赋值为i;
然后添加input文本框时,给文本框的name值为txt+i;
最后在servet中获取totalInput;
然后循环获取txt+totalInput[t];
解决方案二:
事件驱动的Web之旅——JSP与JavaScript的融合(续)
JSPhtml与javascript
jsp中javascript验证日期格式
解决方案三:
JS用DOM来做给按钮绑定一个function
function addElementText(obj) {
var parent = document.getElementById(obj);
var i=parent.getElementsByTagName(""input"").lastChild.innerHTML;
//添加 div
var input = document.createElement(""input"");
input.innerHTML = ""txt""+(i+1);
parent.appendChild(text;
}
内容的话可以事先存在request域中,用的时候用el表达式取或者脚本片段取就可以了
解决方案四:
你试试我这个
<!DOCTYPE html>
title table{ border: 1px red solid; width: 200px; } td{ border: 1px blue solid; margin: 2px; } var i = 0; function createLineInput() { var tbodyObj = document.getElementsByTagName(""tbody"")[0]; var paraTr=document.createElement(""tr""); var paraTd=document.createElement(""td""); var paraInput=document.createElement(""input""); paraInput.value=++i; paraTd.appendChild(paraInput); paraTr.appendChild(paraTd); tbodyObj.appendChild(paraTr); } function exportInputTest() { var tbodyObj = document.getElementsByTagName(""tbody"")[0]; var childTrNodes = tbodyObj.children; var texts = ""请添加输入框!""; if (childTrNodes.length > 0) { texts = """"; for (var i=0; i<childTrNodes.length; i++) { texts += childTrNodes[i].getElementsByTagName(""td"")[0].getElementsByTagName(""input"")[0].value; } } alert(texts); }