读书人

通过js新增的text怎么在新增text文本框

发布时间: 2014-01-05 18:22:55 作者: rapoo

通过js新增的text如何在新增text文本框时保留原来text的值
以这个为例子


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript">
function addObj()
{
var inputText = "<input type='text' name='text' />";
var html=document.getElementById("div1");
html.innerHTML = html.innerHTML+inputText;
}
</script>
</head>

<body>
<form id="from1" action="" method="get">
<div id="div1">

</div>
<input type="button" value="添加文本框" onclick="addObj()" />
<input type="submit" value="提交"/>
</form>
</body>
</html>

按下"添加文本框"后,原来文本框中输入的值就消失了,何解?
另外还有一个问题,用的是asp,通过request("text")获取到的值都是用“,”隔开,如何换成“&&”这样的符号隔开?
[解决办法]
引用:

html.appendChild(inputText)

var html=document.getElementById("div1");
var input = document.createElement("INPUT");
input.setAttribute("name","text");
input.setAttribute("type","text");
html.appendChild(input);

[解决办法]

function addObj() {
var input = document.createElement('input');
input.name = 'text';
input.type = 'text';
document.getElementById("div1").appendChild(input)
}


同名的name都是用“,”分隔开每个项目的,要用&&分隔,asp replace一下
text=replace(request("text"),",","&&")


[解决办法]
引用:
Quote: 引用:


function addObj() {
var input = document.createElement('input');
input.name = 'text';
input.type = 'text';
document.getElementById("div1").appendChild(input)
}


同名的name都是用“,”分隔开每个项目的,要用&&分隔,asp replace一下
text=replace(request("text"),",","&&")

如果这样的话若是我在输入的内容中也加了逗号,那不出事了

那你表单放个隐藏的控件,用js将text的内容组合成你要的然后赋值给这个隐藏控件就行了,获取值从隐藏控件获取
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript">
function addObj() {
var input = document.createElement('input');
input.name = 'text';
input.type = 'text';
document.getElementById("div1").appendChild(input)
}
function setVS(f){
var s='';
if(f.text.length){
for(var i=0;i<f.text.length;i++)s+='&&'+f.text[i].value


s=s.substring(2);
}
else s=f.text.value;
f.vs.value=s;
}
</script>
</head>

<body>
<form id="from1" action="" method="get" onsubmit="setVS(this)"><input type="hidden" name="vs"/>
<div id="div1">

</div>
<input type="button" value="添加文本框" onclick="addObj()" />
<input type="submit" value="提交"/>
</form>
</body>
</html>


vs=request("vs")

读书人网 >JavaScript

热点推荐