我想提交一个带有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 个表单将提交到同一个操作页面。
检查您的字段是否已填充。
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) // ...
对于您关于堆栈溢出的下一个问题,请使用该网站的搜索功能以避免重复已经回答的问题。
if($_SERVER['REQUEST_METHOD'] === 'POST') {
if($_POST['myHiddenInput'] === 'form1'){
//process form 1
}
else if($_POST['myHiddenInput'] === 'form2'){
//process form2
}
}
并在表单中添加一些隐藏的输入,以识别您发布的表单。