怎样用js创建Form表单并提交

怎样用js创建Form表单并提交,第1张

可以手动构建一个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。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11450132.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存