为什么文本输入字段消失(html,php)?

时间:2017-04-02 01:07:03

标签: javascript php html

------------ 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中消失了为什么?如何保留它并保留输入的值?

1 个答案:

答案 0 :(得分:-1)

这是因为您的表单默认不是DOM文档的一部分。

您使用特定事件onClick="addField();"将您的表单使用Javascript附加到DOM文档中。

虽然表单提交是一个将POST/GET数据发送到服务器-Server Side Process的过程,然后服务器返回一些数据 - 刷新页面 - 所以全部您的DOM更改将被遗忘或重新启动,以便在提交后发言。

因此,要解决此问题,您可以将表单设置为DOM文档的一部分,并通过javascript控制可行性。