带有多个提交按钮的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; }); });