如何在同一个表单中有两个按钮来在 ajax 中执行不同的操作

How to have two buttons in a same form to do different actions in ajax?

本文关键字:ajax 按钮 执行 两个 操作 表单 同一个      更新时间:2023-09-26

我有一个表单,它从表单中获取名称,它发送到javascript代码并通过Ajax以php显示。 这些操作是通过单击"提交"按钮完成的,我需要另一个按钮,作为主页中的审核。 我怎样才能向 Ajax 解决正在处理.php页面有"如果 isset(submit)"或"if isset(review)"?单击每个按钮时,我需要执行不同的sql操作。如何添加另一个按钮并能够在进程中的 PHP 部分.php页面上执行不同的操作?

<script type="text/javascript">
    $(document).ready(function(){
        $("#myform").validate({
            debug: false,
            submitHandler: function(form) {
            $.post('process.php', $("#myform").serialize(), function(data) {
                    $('#results').html(data);
                });
            }
        });
    });
    </script>
<body>
<form name="myform" id="myform" action="" method="POST">  
      <label for="name" id="name_label">Name</label>  
    <input type="text" name="name" id="name" size="30" value=""/>  
    <br>
    <input type="submit" name="submit" value="Submit"> 
</form>
    <div id="results"><div>
</body>

工艺.php:

<?php
    print "<br>Your name is <b>".$_POST['name']."</b> ";
?>

您只需要为其添加一个按钮和一个 onclick 处理程序。

目录:

<input type="button" id="review" value="Review"/> 

Js:

$("#review").click(function(){
            var myData = $("#myform").serialize() + "&review=review";
            $.post('process.php', myData , function(data) {
                    $('#results').html(data);
                });
            }
        );

由于您在此处设置了变量 review,因此您可以通过单击审核按钮来使用它来知道调用已到来。

将事件处理程序绑定到按钮的单击事件,而不是表单的提交事件。

使用不同的事件处理程序函数将不同的额外数据片段添加到传递给 ajax 方法的数据对象中。