如何更改下面的代码,而不是带有提交按钮的文本输入类型我想要多个提交按钮,每个按钮都有自己独特的值?我尝试的所有内容最终都会以提交的值未定义。任何帮助都会很棒!
代码来源:Submit Search query & get Search result without refresh
<script type="text/javascript">
$(function() {
$("#lets_search").bind('submit',function() {
var value = $('#str').val();
$.post('db_query.php',{value:value}, function(data){
$("#search_results").html(data);
});
return false;
});
});
</script>
<form id="lets_search" action="" >
Search:<input type="text" name="str" id="str">
<input type="submit" value="send" name="send" id="send">
</form>
答案 0 :(得分:2)
您可以添加多个提交按钮并附加到所有这些onclick
事件侦听器。单击按钮时 - 获取值并使用POST请求发送。
<script>
$(function(){
$('input[type=submit]').click(function(){
$.post('db_query.php', {value:$(this).val()}, function(data){
$("#search_results").html(data);
});
return false;
});
});
</script>
<form id="lets_search" action="">
<input type="submit" name="button1" value="hi"/>
<input type="submit" name="button2" value="bye"/>
</form>
答案 1 :(得分:1)
如果要使用多个提交按钮,可以捕获单击事件并确定单击了哪个按钮。然后运行不同的Ajax提交。当enter
被击中时,这也有效。
//submit buttons
<form id="lets_search" action="" >
Search:<input type="text" name="str" id="str" />
<input type="submit" value="v1"/>
<input type="submit" value="v2"/>
//...more submit buttons
</form>
//submit func
$(function() {
$("#lets_search input[type=submit]").click(function() {
switch ($(this).val){
case 'v1':...;
case 'v2':...
}
});
});
答案 2 :(得分:0)
这是我的版本 - 现在看起来非常像Bingjies,因为它是在我测试他的版本时编写的
<form id="lets_search" action="" >
Search:<input type="text" name="q" id="q">
<input type="submit" value="Google" name="send" id="google">
<input type="submit" value="Bing" name="send" id="bing">
</form>
$(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;
}
});
});
答案 3 :(得分:-1)
您可以在表单中有多个提交按钮,没问题。它们可能具有相同的名称,类型等,但只是为它们分配不同的值。像提交按钮1可以有值=“hi”,按钮2可以有值=“再见”。
然后当为按钮调用动作函数时,进入该函数时所要做的就是检查:$(this).val
HTML:
<input type="submit" name="button1" value="hi"/>
<input type="submit" name="button2" value="bye"/>
jQuery:
$(function() {
$("#lets_search").bind('submit',function() {
var value = $(this).val();
if(value == "hi")
do_something;
else
do_something_else;
});
});
答案 4 :(得分:-1)
在这里,我更倾向于Vamsi的解决方案n为什么不是Sanjeev mk?
在选择解决方案时要多加一些思考。
案例:如果有多个提交按钮
如果用户在文本字段中并按下Enter键,系统将假定第一个提交按钮被命中。
所以,在这里,最好不要多次提交 最终用户观点的按钮