首页 文章

当通过jquery提交表单时,PHP中的isset验证失败

提问于
浏览
2

我通过jQuery提交表单后,我的if(isset)验证返回false,但是在没有jquery的情况下完成后工作正常 . 我使用jQuery的原因是因为我需要提交多个表单:

Button

<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";
 }

 ?>

总是得到“没有收到任何东西” . 有人可以请帮助 .

3 回答

  • 1

    您必须将form方法设置为“POST”类型,如果要在同一页面中接收表单数据,则清空“action”键,否则给出目标链接 .

    <?php 
            if(isset($_POST['create_record'])){
                print_r($_POST);
            }
        ?>
        
        <form action="" method="POST" id="form1">
            <input type="text" name="create_record" value="Submit 1"/>
        </form>
        <a href="#" id="myButton"> Submit </a>
    
        <script>
            $(function(){
                $("#myButton").click(function (event) {
                    event.preventDefault();
                    $("#form1").submit();
                });
            })
        </script>
    

    让我知道它是否适合你 .

  • 0

    如果通过按钮单击以传统方式提交表单,则仅发送提交按钮值 . 由于您是通过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 . 如果您需要有关如何执行此操作的指导,请更好地打开新问题 .

  • 0

    你的代码,isset($ _ POST ['create_record'])可能是假的,或者它没有收到任何值 . 如果您的查询只与jQuery一起放在一个PHP文件中,则需要首先检查算法或使用var_dump()进行测试 . 其次,如果它不起作用,为它做一个替代解决方案 . 使用表单时使用正确的HTML代码,或者仅制作另一个用于接收帖子的PHP文件 .

    <form action="directory_to_another_file" method="POST">
      <!-- SOME INPUTS HERE -->
      <input type="submit" value="Submit 1" name="create_record">
    </form>
    

    尝试测试所有代码 .

相关问题