2017-04-02 66 views
2

------------代码1 ------------为什么文本输入字段消失(HTML,PHP)?

<!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> 

--------------- - 代码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> 

代码1工作正常 但在CODE2后提交文本输入字段消失了,为什么?如何保留并保留输入的值?

+0

面临同样的问题,我仍然无法解决它,如果有任何解决方案让我知道 –

回答

0

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

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

,并同时提交表单是发送POST/GET数据到服务器 - 服务器端过程 - 一个过程,则服务器的一些数据恢复回来 - 刷新页面 - ,因此所有的DOM更改将被遗忘或重启这个提交后可以这么说。

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