textarea未发布在$ _POST中

时间:2014-01-01 03:37:47

标签: php html forms function error-handling

我有一个简单的表单,其中包含textarea字段,在发布时,textarea不会发布到目标页面。我在网上尝试过很多解决方案,但都没有。知道怎么解决吗?

HTML:

<form action="new_page.php" method="post" id="userform">

    <p>Content:<br />
    <textarea name="content" rows="15" cols="80" form="usrform">Enter your text</textarea>
    </p>
    <input type="submit" name="submit" value="Create page"/>
   </form>

在new_page.php中的PHP:

$content = htmlspecialchars($_POST["content"]);
echo $content;

3 个答案:

答案 0 :(得分:8)

从您的textarea中删除form="usrform",您的代码就可以使用。

[或]

将textarea上的usrform重命名为userform也可以。

答案 1 :(得分:3)

快速修复

从textarea

中删除form="usrform"

或,

将其更改为form="userform"以匹配您在表单上设置的ID

那么,表单属性是什么?

form属性(在HTML5中引入)允许您准确指定当前元素应与哪些表单相关联。您可以通过用空格分隔来添加多个值,表示该元素属于多个表单。

这允许您在表单本身之外使用表单元素。如果您将表单ID分配给表单属性,它将在表单数据中提交。

NB IE

支持

更多信息:http://www.w3schools.com/tags/att_textarea_form.asp

答案 2 :(得分:1)

试试这个:

    Just remove form="usrform" from textarea && your code will work.

    <form action="new_page.php" method="post" id="userform">

        <p>Content:<br />
        <textarea name="content" rows="15" cols="80">Enter your text</textarea>
        </p>
        <input type="submit" name="submit" value="Create page"/>
       </form>

You can get value from textarea like this.

<?php    
$content = htmlspecialchars($_POST["content"]);
    echo $content;
?>

谢谢!