如何检查表单是否提交没有提交按钮?

时间:2014-08-10 12:36:34

标签: javascript php html forms

我想提交一个带有js函数的表单,并且在php操作页面中我想检查表单是否已提交,这是我的代码:

<form method="post" action="index.php" name="form1">

        <fieldset>

        ...

        </p><div class="clearfix"></div>
        <input type="button" id="send1" onclick="validateForm1();" class="comment_submit" value="SUBMIT" name="send1"><p></p>

        </fieldset>

        </form>

这是js:

function validateForm1(){

                        var name = document.getElementById('fullName');
                        ...

                        if(isNotEmpty(name))
                           ...
                             document.forms['form1'].submit();
                    }

所以如何在不使用if(!empty($_POST))的情况下检查表单是否已提交,因为我有2个表单将被提交到同一个操作页面。

2 个答案:

答案 0 :(得分:1)

检查您的字段是否已填满。

if(!empty($_POST["field1_from_form1"]) && !empty($_POST["field2_from_form1"]) /* && ... */) {
    // Form 1 is filled.
}

另一种形式......

if(!empty($_POST["field1_from_form2"]) && !empty($_POST["field2_from_form2"]) /* && ... */) {}

您还可以在每个表单中设置隐藏输入...

<input type="hidden" name="formID" value="1" /> <!-- Form 1 -->
<input type="hidden" name="formID" value="2" /> <!-- Form 2 -->

...并检查:

if(isset($_POST["formID"]) && $_POST["formID"] == 1) // ...
if(isset($_POST["formID"]) && $_POST["formID"] == 2) // ...

有关Stack Overflow的下一个问题,请使用网站的搜索功能,以避免重复已经回答的问题。

答案 1 :(得分:-2)

if($_SERVER['REQUEST_METHOD'] === 'POST') {
    if($_POST['myHiddenInput'] === 'form1'){
        //process form 1
    }
    else if($_POST['myHiddenInput'] === 'form2'){
       //process form2
    }
}

并在表单中添加一些隐藏的输入,以识别您发布的一种表单。