按钮以相同的形式调用另一个按钮的方法

时间:2018-04-06 20:21:34

标签: javascript php

我有两个相同形式的按钮:

<form id="form" name="form">
    <input id="check" type="submit" value="Check" name="check">
    <input id="add" type="submit" value="Add/ Modify" name="add">
</form>

$("#form").submit(function(e){
var tmp=$("#form").serialize();
$.ajax({
  method: "POST",
  url: "config.php",
  data: tmp + '&action=add',
  dataType: "html",
  success: function(res){
    window.alert(res);
  }
});
e.preventDefault();
});


$("#form").submit(function(e){
var tmp=$("#form").serialize();
$.ajax({
  method: "POST",
  url: "config.php",
  data: tmp + '&action=check',
  dataType: "html",
  success: function(res){
    window.alert(res);
  }
});
e.preventDefault();
});

然后最后:

switch($_POST['action'])
{
    case 'check':
    print_r("check");
    break;

    case 'add':
    print_r("add");
    break;
}

我的问题是当我点击一个按钮时,会调用这两个方法。我试过这个,但我无法弄清楚我做错了什么。 谢谢!

1 个答案:

答案 0 :(得分:1)

您可以将类型从submit更改为button,并在其上添加一个类以创建“点击”。处理程序。在此回调中,您可以使用参数(按钮名称:

)调用函数
<form id="form" name="form">
  <input id="check" type="button" value="Check" name="check" class="submitter">
  <input id="add" type="button" value="Add/ Modify" name="add" class="submitter">
</form>

JavaScript:

$(".submitter").click(function(e){
  e.preventDefault();
  formSubmitted(this.name);
});

function formSubmitted(action){ // One function, with action in paramter
  var tmp=$("#form").serialize();
  $.ajax({
    method: "POST",
    url: "config.php",
    data: tmp + '&action='+action, 
    dataType: "html",
    success: function(res){
      window.alert(res);
    }
  });
};