复制代码 代码如下:
var newInput = document.createElement("input")
2、设定相关属性,如name,type等
复制代码 代码如下:
newInput.type=mytype
newInput.name="input1"
3、用appendChild方法,将元素追加到某个标签内容中!
复制代码 代码如下:
TemO.appendChild(newInput)
Javascrip核心代码:
复制代码 代码如下:
<script language="javascript">
function AddElement(mytype){
var mytype,TemO=document.getElementById("add")
var newInput = document.createElement("input")
newInput.type=mytype
newInput.name="input1"
TemO.appendChild(newInput)
var newline= document.createElement("br")//创建一个BR标签是为能够换行!
TemO.appendChild(newline)
}
</script>
完整代码如下:
<html >
<head>
<title>动态添加表单元素</title>
</head>
<script language="javascript">
function AddElement(mytype){
var mytype,TemO=document.getElementById("add")
var newInput = document.createElement("input")
newInput.type=mytype
newInput.name="input1"
TemO.appendChild(newInput)
var newline= document.createElement("br")
TemO.appendChild(newline)
}
</script>
<body>
<form action="" method="get" name="frm">
<div id="add">
<input type="text" name="textfield">
</div>
</form>
<input name="" type="button" value="新建文本框" onClick="AddElement('text')" />
<input name="" type="button" value="新建复选框" onClick="AddElement('checkbox')" />
<input name="" type="button" value="新建单选框" onClick="AddElement('radio')" />
<input name="" type="button" value="新建文件域" onClick="AddElement('file')" />
<input name="" type="button" value="新建密码框" onClick="AddElement('password')" />
<input name="" type="button" value="新建提交按钮" onClick="AddElement('submit')" />
<input name="" type="button" value="新建恢复按钮" onClick="AddElement('reset')" />
</body>
</html>
你好,如题描述的结果是必然的。
首先,你需要明白两个问题:第一,js浏览器端脚本,执行在服务端内容响应成功之后,它的appendChild方法,只是在浏览器中进行了 *** 作,并未向服务器发送保存请求(命令);第二,当你刷新页面的时候,你实际上是通过浏览器向服务器发送了一个请求,而当请求完成后你看到的界面是从服务端返回来的,并不是由浏览器直接产生。
明白了这两点,我给你举个例子说明下:
我们假设服务端有一个html文件,名为index.html,它包含题中所述的那段js
当你刷新页面的时候,index.html 的内容被请求到了浏览器,这时浏览器将它的内容显示给你
当页面显示完成(这里要看你js的位置或调用方式)之后,客户端js开始执行,将button添加到浏览器显示的内容中
而这时,服务器上index.html文件的内容并没有发生改变
所以当你再次刷新,从服务器取index.html的时候,页面内容就恢复到最初状态了。
希望说清楚了,如有疑问欢迎追问,望采纳~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)