可以手动构建一个FormData进行表单提交,代码如下:
var form = new FormData()//添加参数
form.append('name', 'jack')
form.append('age', 20)
//使用xmlhttprequest发起请求
var xhr = new XMLHttpRequest()
xhr.open('post', '这里添上请求的url', true)
xhr.onreadystatechange = function() {
if(xhr.readyState == 4) {
//成功
}
}
//执行请求
xhr.send(form)
<html><head>
<script language="javascript">
function add(){
//取得表格
var table = document.getElementById("table1")
//取得行数
var num = table.rows.length
//增加一行
var newrow1 = table.insertRow(num-1)
var cell1 = newrow1.insertCell()
var cell2 = newrow1.insertCell()
var cell3 = newrow1.insertCell()
var cell4 = newrow1.insertCell()
//增加行元素
var inputcell2 = document.createElement("<input size='32' name=''>")
cell2.appendChild(inputcell2)
var inputcell4_1 = document.createElement("<input size='32' name=''>")
var inputcell4_2 = document.createElement("<input type='button' value='删除元素'onClick='del(this)'/>")
cell4.appendChild(inputcell4_1)
cell4.appendChild(inputcell4_2)
//刷新标签显示
frash()
}
function del(obj){
//取得按钮所在行
var i = obj.parentNode.parentNode.rowIndex
var tab = document.getElementById("table1")
//删除按钮所在行
tab.deleteRow(i-1)
frash()
}
function frash(){
var table = document.getElementById("table1")
var num = table.rows.length
//计算动态元素个数
var n = num-2
for(i=1i<=ni++){
//设置标签值
table.rows[i].cells[0].innerText="元素"+i+"属性A"
//设置属性值
table.rows[i].cells[1].childNodes[0].setAttribute("name","ysa"+i)
table.rows[i].cells[2].innerText="元素"+i+"属性B"
table.rows[i].cells[3].childNodes[0].setAttribute("name","ysb"+i)
}
}
</script>
</head>
<body>
<table id="table1" width="100%" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>标签1</td>
<td><input name="a"></td>
<td>标签2</td>
<td><input name="b"></td>
</tr>
<tr>
<td colspan="4" align="center"><a href="#" onclick="add()">增加元素</a></td>
</tr>
</table>
</body>
</html>
省市联动里面,市表单里面必须有对应的省字段name或者ID,通过选择的selec 市 from table where ID=省查询,然后add动态添加。第一种模板才是通常显示的模板,存取也没有什么不同,取对应位置的数据组,循环insert。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)