如何在同一个表单中使用两个按钮在ajax中执行不同的操作?

时间:2012-05-31 09:33:57

标签: php javascript ajax

我有一个表单,它从表单中取名,然后发送到javascript代码并通过Ajax在php中显示。这些操作是通过单击提交按钮完成的,我需要另一个按钮,在我的主页面中查看。我怎样才能解决ajax在process.php页面中有“if isset(submit)”或“if isset(review)”的问题? 单击每个按钮时,我需要执行不同的sql操作。 如何在process.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>

process.php:

<?php

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

HTML:

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

由于您在此处设置了变量评论,因此您可以通过点击评论按钮来了解电话来了。