Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript在动态添加的文本框中消失文本_Javascript_Html - Fatal编程技术网

使用Javascript在动态添加的文本框中消失文本

使用Javascript在动态添加的文本框中消失文本,javascript,html,Javascript,Html,您可以使用以下代码添加任意多的文本框,如图所示 <html> <head> <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.js"></script> <script type="text/javascript"> var i=2; function AddTextbox(){ container.innerHTML=container.in

您可以使用以下代码添加任意多的文本框,如图所示

<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.js"></script>
<script type="text/javascript">
var i=2;
function AddTextbox(){
container.innerHTML=container.innerHTML+'<input type="text" name="'+ i + '" id="'+ i + '">' + '</br>';
i++;
}
</script>

</head>
<body>
<form action="next.php" method="post" >
<input type="text" name="1" id="1" />
<input type="button" onClick="AddTextbox();" value="add" />
<input type="submit" value="submit" />
<div id="container"></div>
</form>
</body>
</html>

var i=2;
函数AddTextbox(){
container.innerHTML=container.innerHTML+''+'
'; i++; }

我得到的唯一问题是,如果用户添加了2个文本框,并且在这些文本框中写入了内容,并且用户再次单击“添加文本框”按钮,则用户插入文本框的数据将消失。

innerHTML不会保留用户输入。与使用innerHTML不同,您应该将输入创建为新元素,并使用appendChild将元素附加到容器中


这将保留其他输入元素不变,而不是用调用innerHTML替换它们。

而不是设置container.innerHTML,因为前面引用了jQuery,请执行以下操作:


$(container.append(“您可以使用jQuery.append,而不是使用innerHTML


检查此处的

使用jQuery更容易解决问题

$('#container').append('<input type="text"  ');

$(“#容器”)。追加(“更改按钮名称,如下所示:

<input type="submit2" onClick="AddTextbox();" value="add" />

而不是

<input type="button" onClick="AddTextbox();" value="add" />