JavaScript中如何动态添加表单及控件

JavaScript中如何动态添加表单及控件,第1张

1、先用document.createElement方法创建一个input元素!

复制代码 代码如下:

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的时候,页面内容就恢复到最初状态了。

希望说清楚了,如有疑问欢迎追问,望采纳~


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存