------------ code 1 ------------
<!DOCTYPE html>
<html>
<body>
<form action="#" method="POST">
<input type ="text" value="default text" name="someName">
<input type ="submit" value ="Submit" >
</form>
<?php echo "Entered data is -->".$_POST["someName"]; ?>
</body>
</html>
----------------- code 2 ------------------
<?php
echo $htmlDoc = <<< HTML
<html>
<body>
<input type="button" value="Add Input Field" onClick="addField();">
<p id="addHere"></p>
</body>
</html>
HTML;
echo ' Entered Data is as : '.$_POST["someName"];
?>
<script>
function addField()
{
document.getElementById("addHere").innerHTML
='<form action="#" method="POST">'+
'<input type ="text" value="default text" name="someName">'+
'<input type ="submit" value ="Submit" >'+
'</form>';
}
</script>
code1工作正常 但是在提交文本输入字段后的code2中消失了为什么?如何保留它并保留输入的值?
答案 0 :(得分:-1)
这是因为您的表单默认不是DOM文档的一部分。
您使用特定事件onClick="addField();"
将您的表单使用Javascript附加到DOM文档中。
虽然表单提交是一个将POST/GET
数据发送到服务器-Server Side Process的过程,然后服务器返回一些数据 - 刷新页面 - 所以全部您的DOM更改将被遗忘或重新启动,以便在提交后发言。
因此,要解决此问题,您可以将表单设置为DOM文档的一部分,并通过javascript控制可行性。