使用引导模态进行确认后,PHP isset无法在表单提交上使用

时间:2018-10-10 08:36:56

标签: javascript php jquery bootstrap-modal

我有一个带有多个提交按钮的表单,如下所示:

<form action="insert_data" method="post" id="topSubmit">
    <input type="checkbox" name="stories[]" id="stories" value="A">
    <input type="checkbox" name="stories[]" id="stories" value="B">
    <input type="checkbox" name="stories[]" id="stories" value="C">
    <!--   more checkboxes    -->
    <button class="btn btn-danger" type="submit" name="trunc-trend" id="trunc-trend" data-toggle="modal" data-target="#modal-trunc-trend">
        Add Stories 1
    </button>
    <button class="btn btn-danger" type="submit" name="trunc-top" id="trunc-top" data-toggle="modal" data-target="#modal-trunc-top">
        Add Stories 2 
    </button>
</form>

对于每个提交按钮,都有一个确认模式(引导程序),如下所示:

<div class="modal fade" id="modal-trunc-trend" role="dialog">
    <div class="modal-dialog">
        <!-- Modal content-->
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
            </div>
            <div class="modal-body">
                <div class="form-group">
                    <h4 style="text-align: center;">Are you sure to do this action ?</h4>
                </div>

                <div class="form-group" style="text-align: center;">
                    <button type="button" name="ensure-trunc-trend" id="ensure-trunc-trend" class="btn btn-success" style="margin-right: 15px">Yes</button>
                    <button type="button" class="btn btn-success" data-dismiss="modal">No</button>
                </div>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            </div>
        </div>

    </div>
</div>

以下是我的jQuery代码,其中,我首先阻止页面在“提交”按钮上单击时加载,以便它不会在确认之前从提交,例如:

$('#trunc-trend').click(function(e){
            e.preventDefault();
});

然后,在引导程序模式中点击按钮后,即:<button type="button" name="ensure-trunc-trend" id="ensure-trunc-trend" class="btn btn-success" style="margin-right: 15px">Yes</button>

以下jQuery执行:

$('#ensure-trunc-trend').click(function(){
    $('#topSubmit').submit();
});

这将带我进入下一个php页面。在此php页面中,表单中的每个Submit按钮都有一些isset条件。但是这些isset条件不起作用。

这是我的php文件:

if (isset($_POST['trunc-trend'])) {
    echo "coming here.";
}

elseif (isset($_POST['trunc-top'])) {
    echo "this is working";
}

有什么想法可以解决这种困扰吗?

1 个答案:

答案 0 :(得分:-1)

变量$_POST['trunc-trend']$_POST['trunc-trop']来自两个不同的提交按钮,但是您是通过形式($('#topSubmit').submit();)提交表单的。提交输入仅在单击时发送,因此您的PHP脚本不会接收它们。

如果您尝试这样做:

$('#ensure-trunc-trend').click(function(){
        $('button[name=trunc-trend]').click();
});

您将获得truc-trend变量。