如何使用 POST 全局检查 javascript 提交的表单

How do I check a javascript submitted form using the POST global

图一是网页在浏览器加载时的显示方式。图 2 是双击列表元素时的情况。图 3 显示了单击铅笔(这是原始表单元素)的结果。您可以看到列表项确实有一个可访问的值,因为它在警报中打印整数,所以我不确定下面的评论是否与此有关。我也不明白这是如何重复上一个建议的问题,因为单击 img 时它满足 $_POST['edit'] 的逻辑检查。请不要将其标记为重复,因为它不是!在答案中,我的问题被标记为重复 "img input elements cannot post data to the server and must be encased in a button"。在我看来,这一定是不正确的,因为如果我的页面不通过 post 传送数据,我的页面如何根据 img 点击更改状态,如果无法通过 img 点击设置 POST 变量向服务器传递数据。如果一个问题被标记为重复,那么原始答案必须解决相同的问题 and/or 包含正确的信息,如果没有,那么我认为这个问题应该作为原始问题!

<html>
<head>
<script  src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>

<body>
<?php
  if(isset($_POST['edit']) ) 
  {
  ?>
    <p>window is in edit mode</p>
  <?php
  }
  else
  {
  ?>
    <p>window is not in any mode</p>
    <form id="form-edit"  method="POST" name="form-edit"  action=" <?php echo $_SERVER['PHP_SELF']; ?>">
      <input type="image" id="edit-button" name="edit" value="1"  src="../images/pencil.png" class="course-banner-edit"> 
    </form>
    <?php
    }
    ?>
    <script>
      $(document).ready(function() {

       /**********************************************
       PROBLEM WITH THIS FUNCTION 
       **********************************************/  
        $('li').dblclick(function() {
          $('#form-edit').submit();
       /******************************************
      THE ALERT TRIGGERS AND THE VALUE IS REPORTED AS ONE WHICH IS CORRECT
        *****************************************/  
          alert( $("input[name=edit]").val() );
        });
     }); 
     </script> 
   </body>
  </html>

图像类型的输入元素不接受值属性。尝试这样的事情:

<form id="form-edit" method="POST" name="form-edit" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <button type="button">
        <img src="" alt="">
    </button>
    <input type="hidden" name="edit" value="1">
</form>

为了更好地了解它的工作原理,尝试使用不同的按钮提交此表单,看看会发生什么

<html>
<head>
</head>

<body>
<?php var_dump($_POST); ?>
<form id="form-edit" method="POST" name="form-edit" action="#">
    <input type="image" id="edit-button" name="first_submit_button" src="...">
    <input type="image" id="edit-button" name="second_submit_button" src="...">
    <input type="submit" value="third submit button">
</form>

<ul>
    <li>submit via javascript</li>
</ul>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
  $(document).ready(function() {
    $('li').click(function() {
      $('#form-edit').submit();
    });
  });
</script>
</body>
</html>