带有多个提交按钮的Ajax

如何更改下面的代码,而不是带有提交按钮的文本输入类型我想要多个提交按钮,每个按钮都有自己独特的值? 我尝试的所有内容最终都是未定义提交的值。 任何帮助都会很棒!

代码来源: 提交搜索查询并获取搜索结果而不刷新

 $(function() { $("#lets_search").bind('submit',function() { var value = $('#str').val(); $.post('db_query.php',{value:value}, function(data){ $("#search_results").html(data); }); return false; }); });   

您可以添加多个提交按钮并附加到所有这些按钮上的onclick事件侦听器。 单击按钮时 – 获取值并使用POST请求发送。

   

如果要使用多个提交按钮,可以捕获单击事件并确定单击了哪个按钮。 然后运行不同的Ajax提交。 当命中enter时,这也有效。

 //submit buttons  //submit func $(function() { $("#lets_search input[type=submit]").click(function() { switch ($(this).val){ case 'v1':...; case 'v2':... } }); }); 

这是我的版本 – 现在看起来非常像Bingjies,因为它是在我测试他的版本时编写的

DEMO

  $(function() { $("#lets_search input[type=submit]").click(function() { switch ($(this).val()) { case "Bing" : $("#lets_search").attr("action","http://www.bing.com/search"); break; case "Google": $("#lets_search").attr("action","https://www.google.com/search"); break; } }); }); 

在这里,我更喜欢Vamsi的解决方案n为什么不是Sanjeev mk?

更喜欢解决方案。

case:如果有多个提交按钮

如果用户在文本字段中并按下Enter键,系统将假定第一个提交按钮被命中。

所以,在这里,最好不要为最终用户的观点提供多个提交按钮

您可以在表单中有多个提交按钮,没问题。 它们可能具有相同的名称,类型等,但只是为它们分配不同的值。 像提交按钮1可以有值=“hi”,按钮2可以有值=“再见”。

然后当为按钮调用动作函数时,进入函数时所要做的就是检查:$(this).val

 HTML:   jQuery: $(function() { $("#lets_search").bind('submit',function() { var value = $(this).val(); if(value == "hi") do_something; else do_something_else; }); });