繁体   English   中英

Ajax POST具有多个PHP目标的多种表单

[英]Ajax POST multiple forms with multiple PHP destinations

我有一个包含两种形式的页面,每种形式的帖子均使用不同的PHP页面。 我只能找到有关在同一PHP帖子脚本中使用多种形式的示例/文档。 我正在努力使它正常工作,能帮上什么忙吗?

这是JQUERY,如果我使用一种形式,它可以工作,我试图添加一个ID标记,但它似乎没有用:

         $(function () {

           $('form').on('submit', function (e) {

var form = $(this);
e.preventDefault();

$.ajax({
 type: 'post',
 url: form.attr('action'),
 data: form.serialize(),
 success: function () {
   alert('Suppiler Amended!');
 }
});

           });

         });
         </script>
         </head>
         <body>
         <?php 
         echo "<div class='table1'>";
         echo "<div class='datagrid'>";
          echo "<table id='tblData2'><thead><tr><th>Notes</th><th>Updated By</th><th></th></thead></tr>";
         while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC)) {
         ?>
         <tbody><tr>
         <td><FONT COLOR='#000'><b><?php echo "".$row["notes"].""?></td>
         <td><FONT COLOR='#000'><b><?php echo "".$row["enteredby"].""?></td>
         <td><FONT COLOR='#000'><b><a href="edit.php">

         <form name="edit" action="script1.php" method="post">
            <input type="hidden" name="notes" value="<?php echo"".$row["notes"]."";?>">
            <input type="hidden" name="noteid" value="<?php echo"".$row["noteid"]."";?>">
         <input type="submit" value="EDIT">
         </form>
         </a></td>
         </tr></tbody>
         <?php
         $companyid = "".$row['id']."";
         }
         ?>
         </table>
         </div>
         <br>
         <form name="notes" action="add-note.php" method="post">
           ADD NEW NOTE:<br>
           <input type="text" name="newnote" style="height:120px;width:200px;"><br>
            <input type="hidden" name="companyid" value="<?php echo"".$companyid."";?>">
             <input type="hidden" name="user" value="<?php echo"".$user."";?>">
             <br>
         <input type="submit" value="ADD NOTE">
         </form>

您必须遍历表格:

$(function () {

$('form').on('submit', function (e) {

    e.preventDefault();
    $('form').each(function(i, form) {
        $.ajax({
          type: 'post',
          url: form.attr('action'),
          data: form.serialize(),
          success: function () {
          alert('Note has been edited!');
       }
    });

})
});

});

您需要做的就是简单地动态获取action属性。 您可以使用form.attr('action');轻松地做到这一点form.attr('action'); 在函数内部。 见波纹管-

$(function () {

  $('form').on('submit', function (e) {

    var form = $(this);
    e.preventDefault();

    $.ajax({
     type: 'post',
     url: form.attr('action'),
     data: form.serialize(),
     success: function () {
       alert('Note has been edited!');
     }
    });

  });

});

更新:

<html>
    <head>
        <script src="https://code.jquery.com/jquery-1.12.4.min.js"   integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ="   crossorigin="anonymous"></script>
    </head>
    <body>
        <form name="edit" action="script1.php" method="post">
            <input type="hidden" name="notes" value="1">
            <input type="hidden" name="noteid" value="2">
            <input type="submit" value="s1">
         </form>

         <form name="edit" action="script2.php" method="post">
            <input type="hidden" name="notes" value="1">
            <input type="hidden" name="noteid" value="2">
            <input type="submit" value="s2">
         </form>

         <script type="text/javascript">
             $(function () {

                  $('form').on('submit', function (e) {

                    var form = $(this);
                    e.preventDefault();

                    $.ajax({
                     type: 'post',
                     url: form.attr('action'),
                     data: form.serialize(),
                     success: function () {
                       alert('Note has been edited!');
                     }
                    });

                  });

                });
         </script>
    </body>
</html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM