【问题标题】:How to have two buttons in a same form to do different actions in ajax?如何让两个按钮以相同的形式在ajax中执行不同的操作?
【发布时间】:2012-06-05 13:19:40
【问题描述】:

我有一个表单,它从表单中获取名称,它发送到 javascript 代码并通过 Ajax 在 php 中显示。这些操作是通过单击提交按钮完成的,我需要另一个按钮,作为我的主页中的评论。我如何处理在 process.php 页面中有“if isset(submit)”或“if isset(review)”的 ajax? 单击每个按钮时,我需要执行不同的 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> ";
?>

【问题讨论】:

  • 不要使用提交按钮,,使用两个按钮,,,点击时触发一个功能,,,第一个会做一些动作,花药会做另一个动作...
  • 我也用过这样的按钮,但是它没有读取我按钮的值。
  • okey 然后检查 nunespascal 帖子

标签: php javascript ajax


【解决方案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);
                });
            }
        );

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

【讨论】:

  • 感谢您快速而精彩的回复!:)
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2019-05-27
    • 2018-06-27
    • 2014-12-03
    • 2013-06-02
    • 2014-12-04
    • 2021-04-13
    • 1970-01-01
    • 2021-08-26
    • 2021-03-09
    相关资源
    最近更新 更多