【问题标题】:HTML for is not being submitted after clicking on the submit button单击提交按钮后未提交 HTML
【发布时间】:2017-11-01 12:30:48
【问题描述】:

我有以下表格:

<form method="post">
    <div class="control-group form-group">
        <div class="controls">
            <label class="contact-p1">Full Name:</label>
            <input type="text" class="form-control" name="name" id="name" required data-validation-required-message="Please enter your name.">
            <p class="help-block"></p>
        </div>
    </div>
    <div class="control-group form-group">
        <div class="controls">
            <label class="contact-p1">Email Address:</label>
            <input type="email" class="form-control" name="email" id="email" required data-validation-required-message="Please enter your email address.">
            <p class="help-block"></p>
        </div>
    </div>
    <div class="control-group form-group">
        <div class="controls">
            <label class="contact-p1">Description</label>
            <textarea placeholder="Your text here.." name="description" class="form-control" rows="8" required></textarea>
            <p class="help-block"></p>
        </div>
    </div>
    <div id="success"></div>
    <!-- For success/fail messages -->
    <input type="submit" value="Send" name="submit" class="btn btn-success btn-block btn-lg">
</form>

在表单下方的同一个文件中,我有以下 php 表单语句,用于检查表单是否已提交:

 if (isset($_POST['submit'])) {
     echo "<h1>" . "Form is submitted" . "</h1>";
 } else {
     echo "<h1>" . "Form is not submitted" . "</h1>";
 }

点击“发送”按钮后,我无法进入“表单已提交”if。不知道为什么?

【问题讨论】:

  • 当您第一次加载该文件时,您应该会看到 Form is not submit 你看到了吗?如果不是,你看到了什么?
  • 是的,第一次加载是“表单未提交”点击按钮后页面未刷新
  • 您的代码包含 id,这对我来说表明您可能正在使用 JS。你发布的作品。你也怎么用这个?作为服务器 url 或直接在浏览器中作为file:///?如果是前者,请使用错误报告检查错误。我看不到这里失败。
  • @MasivuyeCokile there you go.............
  • 您的问题没有包含相关代码。我之前告诉过你我怀疑你使用 JS,你可能这样做是为了自我代表。该问题被标记为不清楚。这不会为 Stack 上的任何人提供服务,除了 您自己。这不是 Stack 的意义所在,不仅仅是“你你你”,还有其他你知道的。

标签: php html forms submit


【解决方案1】:

这应该可以,提交按钮的命名不起作用。

<?php

     if (isset($_POST['SubmitForm'])) {
             echo "<h1>" . "Form is submitted" . "</h1>";
          } else {
             echo "<h1>" . "Form is not submitted" . "</h1>";
     }

     ?>

    <form method="post">
                        <div class="control-group form-group">
                            <div class="controls">
                                <label class="contact-p1">Full Name:</label>
                                <input type="text" class="form-control" name="name" id="name" required data-validation-required-message="Please enter your name.">
                                <p class="help-block"></p>
                            </div>
                        </div>
                        <div class="control-group form-group">
                            <div class="controls">
                                <label class="contact-p1">Email Address:</label>
                                <input type="email" class="form-control" name="email" id="email" required data-validation-required-message="Please enter your email address.">
                                <p class="help-block"></p>
                            </div>
                        </div>
                        <div class="control-group form-group">
                            <div class="controls">
                                <label class="contact-p1">Description</label>
                                    <textarea placeholder="Your text here.." name="description" class="form-control" rows="8" required></textarea>
                                <p class="help-block"></p>
                            </div>
                        </div>
                        <div id="success"></div>
                        <!-- For success/fail messages -->
                        <input type="submit" value="Send" name="SubmitForm" class="btn btn-success btn-block btn-lg">
     </form>

【讨论】:

    【解决方案2】:

    问题出在联系表单的 JavaScript 文件中。删除后:

    event.preventDefault(); // prevent default submit behaviour
    

    表格现在可以工作了。谢谢大家的帮助:)

    【讨论】:

    • 想了很多@Fred-ii-
    • 谢谢弗雷德,祝你有美好的一天
    • @MasivuyeCokile 是的!
    • 我认为目的是为了获得代表@Fred-ii-