【问题标题】:Textarea value not getting posted with formTextarea 值未与表单一起发布
【发布时间】:2013-09-19 22:29:16
【问题描述】:

我在提交表单时尝试输入 textarea 标签:

<textarea id="confirmationText" class="text" cols="86" rows ="20" name="confirmationText" form="confirmationForm"></textarea>

<form action="sendConfirmation.php" name="confirmationForm" method="post">
   <input type="submit" value="Email" class="submitButton">
</form>

如您所见,我在 textarea 标记中设置了 form="confirmationForm" 属性。我使用 Live HTTP Headers 来捕获 POST 请求并且它是空的(所以我知道问题不在 sendConfirmation.php 中,问题是没有 POST 确认文本)。我已经搜索了网络,据我所知,我已经正确设置了。

【问题讨论】:

    标签: html post textarea


    【解决方案1】:

    尝试将它放在表单标签中,如下所示......它应该可以工作

    <form action="sendConfirmation.php" name="confirmationForm" method="post">
        <textarea id="confirmationText" class="text" cols="86" rows ="20" name="confirmationText"></textarea>
    
       <input type="submit" value="Email" class="submitButton">
    </form>
    

    但是您也可以使用相同的方法,但您需要提供 from id 属性

    <form action="sendConfirmation.php" id="confirmationForm" method="post">
       <input type="submit" value="Email" class="submitButton">
    </form>
    

    【讨论】:

    • 还是不行。我实际上已经读过,如果您设置输入标签的“form”属性,则不需要将它们放在 标签内。反正我试过了。内容仍未发布。
    • 提供 from id 而不是 name 具有相同的值,然后尝试
    • 谢谢!就是这样。我认为这是必须设置的表单名称。
    • 解决我的错误的方法是将 textarea 的 id 和 name 属性设置为精确的保存值!例如
    【解决方案2】:

    你必须在textarea的form属性中填写表单的id,而不是名称。

    尝试:

    <textarea id="confirmationText" class="text" cols="86" rows ="20" name="confirmationText" form="confirmationForm"></textarea>
    
    <form action="sendConfirmation.php" id="confirmationForm" name="confirmationForm" method="post">
       <input type="submit" value="Email" class="submitButton">
    </form>
    

    来源:http://www.w3schools.com/tags/att_textarea_form.asp

    【讨论】:

    • @WalrustheCat 不是烧瓶后端框架吗?如果是这样,它应该对此没有影响,因为它只在请求中提交数据后处理数据。尝试在此处发送您的代码,我可以看看是否能找到问题所在。
    【解决方案3】:

    确保你没有错过 textarea 标签的 name 属性。这在 django 中发生在我身上。

    【讨论】:

    • 谢谢——刚刚被这个咬了!
    【解决方案4】:

    只需将 Form="formId" 属性添加到 TextArea 标记并将 Id 分配给 Form

    <textarea id="confirmationText" class="text" cols="86" rows ="20" name="confirmationText" form="confirmationForm"></textarea>
    
    <form action="sendConfirmation.php" id="confirmationForm" name="confirmationForm" method="post">
       <input type="submit" value="Email" class="submitButton">
    </form>

    【讨论】:

      【解决方案5】:

      你需要把你的文本区域放在表单标签内

       <form action="sendConfirmation.php" name="confirmationForm" method="post">
          <textarea id="confirmationText" class="text" cols="86" rows ="20" name="confirmationText" form="confirmationForm"></textarea>
          <input type="submit" value="Email" class="submitButton">
      </form>
      

      当一个表单被提交时,它里面的所有东西都会被发送,表单标签之外的任何输入都会被忽略。

      【讨论】:

      • 还是不行。我实际上已经读过,如果您设置输入标签的“form”属性,则不需要将它们放在
        标签内。反正我试过了。内容仍未发布。
      • 如果您使用的是 Chrome 或 Firefox,您可以打开开发工具,转到网络选项卡,当您提交表单时检查数据是否正在提交,这将帮助您确定是否是因为客户端或服务器端的问题。 net.tutsplus.com/tutorials/…
      【解决方案6】:

      我遇到了同样的问题,通过在 textarea 中添加 method="post" 得到了解决。

      【讨论】:

        【解决方案7】:
        <form action="sendConfirmation.php" name="confirmationForm" method="post">
        <textarea id="confirmationText" class="text" cols="86" rows ="20" name="confirmationText" form="confirmationForm"></textarea>
           <input type="submit" value="Email" class="submitButton">
        </form>
        
        <form action="sendConfirmation.php" name="confirmationForm" method="post" id="confirmationForm">
        

        需要在表单标签中添加id

        textarea form="confirmationForm"匹配form id="confirmationForm"

        试试看

        【讨论】:

          【解决方案8】:

          这里有点死灵,但它在 Google 搜索排名中仍然很高,所以加上我的 2 美分 - 如果 textarea 在表单内,最终对我有用的不是使用 form= 属性。即使名称与表单的名称相同,但直到我删除了 form= 位,它才起作用。尝试了 defaultValue,尝试将一些文本放入 textarea 本身,这些都没有帮助。

          【讨论】:

            【解决方案9】:

            我的textarea 中有disabled="disabled"attribute。它也会阻止提交input

            【讨论】:

              【解决方案10】:

              它会起作用的。

              <textarea id="confirmationText" class="text" cols="86" rows ="20" name="confirmationText" form="confirmationForm"></textarea>
              
              <form action="sendConfirmation.php" id="confirmationForm" method="post">
                 <input type="submit" value="Email" class="submitButton">
              </form>
              

              只需更改或添加 textarea 标签中的 form 属性,其值为 form 标签的 id。

              【讨论】:

                【解决方案11】:

                尝试将它放在表单标签旁边,如下所示......它应该可以工作。

                <form action="sendConfirmation.php" name="confirmationForm" method="post">
                <textarea id="confirmationText" class="text" cols="86" rows ="20" name="confirmationText" form="confirmationForm"></textarea>
                   <input type="submit" value="Email" class="submitButton">
                </form>
                

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2012-03-02
                  • 2019-01-03
                  • 2023-04-02
                  • 1970-01-01
                  • 1970-01-01
                  • 2020-05-15
                  • 2013-12-18
                  • 1970-01-01
                  相关资源
                  最近更新 更多