javascript - PHP :unable to check if a form is submitted

标签 javascript php jquery forms

我正在像这样的模态窗口内使用 php 文件中的表单

 <div class="modal-body">
                <form  method="post" action="m.php">
                    <div class="form-group">
                        <lable>Name</lable>
                        <input type="text" class="form-control" required="required">
                    </div>

                    <div class="form-group">
                        <lable>Email</lable>
                        <input type="text" class="form-control" required>
                    </div>

                    <div class="form-group">
                        <lable>Details</lable>
                        <input type="text" class="form-control" required>
                    </div>

                    <div class="form-group">
                        <lable>Message</lable>
                        <textarea name="" id=""  class="form-control"></textarea>
                    </div>
                     <div class="form-group">
                        <a href="" class="btn btn-default" name="submit" style=" background: #eee; width:100px;display: block;margin-left:auto;">Submit</a>
                    </div>
                </form>
            </div>

文件名是m.php,现在当我按下提交按钮时,它不会检测表单提交

<?php

if( ($_SERVER['REQUEST_METHOD'] == 'POST')){
    die("form submitted");
}

?>

我也尝试了$_POST['submit'],请帮助我,它出了什么问题

最佳答案

这是因为您没有按提交按钮,而是按了名为“提交”的链接。尝试将其替换为 <input type="submit" value="Submit" /> .

此外,您检查表单是否已提交使用了危险的方法。如果您的代码中有多种表单需要处理,它会捕获所有表单。更好的方法是:

if( isset($_POST['nameOfSubmitbutton']) ){}
// because you can now easily do:
if( isset($_POST['completelyDifferentButton']) ){}
<小时/>

如果你想保留 anchor (我建议不要这样做),你可以使用 javascript 来为你伪造提交:

document.getElementById('yourAnchor').onclick = function(){
    document.getElementById('yourForm').submit();
}
// Or if you have jQuery:
$('#yourAnchor').on('click', function(e){
    e.preventDefault();
    $(this).closest('form').submit();
});

关于javascript - PHP :unable to check if a form is submitted,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45812539/

相关文章:

jQuery 在 block 中动画背景位置?

javascript - 如何设置两个按钮触发同一事件?

javascript - 在 Javascript 中使用索引数组访问和修改任意深度的嵌套数组

PHP 警告 : PHP Startup: Unable to load dynamic library

php - 如何在一个类中使用另一个类

php - FOSUserBundle : configuration error (handler)

jquery - 为什么数据还是空

java - 400 错误请求将 JSON POST 发送到 REST

javascript - Ionic 2 - 列出 JSON 响应中的数组项

javascript - jQuery 函数中 "this"的范围