POST后,表单文本输入中的填充将被删除

时间:2014-02-07 08:03:10

标签: php html css ajax post

不确定这是否是我的一些编码缺陷,但是从POST返回时,表单的文本输入中的填充似乎被剥离了。这个简化的例子证明了这一点:

<?php
  if (isset($_POST["submit"]))
  {
    echo $_POST["name"]."<br />";
  }
?>    
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
  "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
    <title>Input Padding</title>
    <style type="text/css">
      input[type=text]
        {margin: 20px; width: 200px; height: 25px; padding: 10px;}
    </style>
  </head>

  <body>     
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
      <input type="text" name="name" />
      <input type="submit" name="submit" value="Submit" />
    </form>
  </body>
</html>

奇怪的是,似乎是 ECHO 功能导致了这一点。任何帮助,将不胜感激。

谢谢。

索菲亚

1 个答案:

答案 0 :(得分:1)

我认为在html doctype声明之前不能有任何空格/字符。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
  "http://www.w3.org/TR/html4/loose.dtd">
<?php
  if (isset($_POST["submit"]))
  {
    echo $_POST["name"]."<br/>;
  }
?>   
<html>
  <head>
    <title>Input Padding</title>
    <style type="text/css">
      input[type=text]
        {margin: 20px; width: 200px; height: 25px; padding: 10px;}
    </style>
  </head>

  <body>     
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
      <input type="text" name="name" />
      <input type="submit" name="submit" value="Submit" />
    </form>
  </body>