【问题标题】:form is sending variables by get method表单正在通过 get 方法发送变量
【发布时间】:2013-05-18 18:11:11
【问题描述】:

我有一个表格。

<form id="site-contact-form">
                    <div>
                      <div class="wrapper"><span>Ձեր անունը:</span>
                        <div class="bg">
                          <div>
                            <input type="text" class="input" name="contactname" id="contactname" />
                          </div>
                        </div>
                      </div>
                      <div class="wrapper"><span>Ձեր E-mail-ը:</span>
                        <div class="bg">
                          <div>
                            <input type="text" class="input" name="email" id="email" />
                          </div>
                        </div>
                      </div>
                      <div class="textarea_box"><span>Տեկստ:</span>
                        <div class="bg">
                          <div>
                            <textarea  cols="1" rows="1" name="message" id="message"></textarea>
                          </div>
                        </div>
                      </div>
                        <div style="clear:both;"></div>
                       <button id="sub" name="submit">ուղարկել</button>
                       </div>
                  </form>

如你所见,我没有采取任何行动,没有方法。但是当我点击按钮时,它会刷新页面(比如当它有动作时)并添加到 URL ?contactname=&email=&message=&submit= ...我以前从未遇到过这个问题,为什么它会发送变量?我的页面上还没有任何 php...

【问题讨论】:

  • 它实际上并没有刷新页面,而是将您发送到设置了 Get 参数的新页面
  • 您应该将提交按钮更改为&lt;input type="submit" id="sub" value="ուղարկել" name="submit"&gt;

标签: php forms validation get


【解决方案1】:

因为默认方法是 GET 并且 URL 与页面相同。使用:

<form method="POST" action="/reactor">
    <!-- .... -->
</form>

实际上,action 属性是强制性的。

【讨论】:

  • 问题是我不想采取行动(刷新页面),我打算通过 ajax 发送变量。那该怎么办呢?
  • 没关系。 This answer 解释了如何使用 jQuery 捕获提交的表单并通过 AJAX 发送。
【解决方案2】:

请更正代码:

<form id="site-contact-form" method="post">

并且提交的值不会显示在 URL 上。

如果不指定form方法,默认会“get”。 这就是发生在这里。

【讨论】:

    【解决方案3】:

    将按钮类型更改为按钮

    <button id="sub" name="submit" type="button">ուղարկել</button>
    

    【讨论】:

    • 这不能回答 OP 的问题。
    • 我在表单中添加了 method="post",它仍然在 URL 中显示变量并刷新页面
    • 感谢 Manish Jangir,它有帮助!
    猜你喜欢
    • 2017-11-30
    • 2014-02-08
    • 1970-01-01
    • 2016-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-04
    • 1970-01-01
    相关资源
    最近更新 更多