我的 if(isset) 验证在我通过 jQuery 提交表单后返回 false,但是在没有 jquery 的情况下完成时工作正常。我使用 jQuery 的原因是因为我需要提交多个表单:
按钮
<input class="btn btn-primary" type ="submit" id="myButton"
name="create_record" value="Submit 1">
jQuery:
<script>
$(document).ready(function () {
$("#myButton").click(function (event) {
event.preventDefault();
$("#form1").submit();
// $("#form2").submit();
});
});
</script>
PHP
<?php
if(isset($_POST['create_record'])){
$ecode = $_POST['ecode'];
$ename = $_POST['ename'];
$date = $_POST['date'];
$jobRole = $_POST['jobRole'];
}else{
echo "did not receive anything";
}
?>
总是提示“没有收到任何东西”。有人可以帮忙吗?
最佳答案
仅当通过单击按钮以传统方式提交表单时,才会发送提交按钮值。由于您是通过 JavaScript 提交表单,因此您需要显式包含提交按钮的值或以其他方式验证您的发布数据。如果您需要单击的特定按钮的值,类似这样的操作应该有效:
$("#myButton").click(function (event) {
event.preventDefault();
var el = '<input type="hidden" name="' + $(this).prop('name') + '" value="' + $(this).val() + '">';
$("#form1").append(el).submit();
});
至于您一次提交多个表单的目标,我相信如果不使用所讨论的ajax是不可能的here 。如果您需要有关如何执行此操作的指导,最好提出一个新问题。
关于php - 通过 jquery 提交表单时 PHP 中的 isset 验证失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53699457/