Javascript Jquery中的两个按钮单击事件
HTML 控制器Javascript Jquery中的两个按钮单击事件,javascript,jquery,asp.net-mvc,Javascript,Jquery,Asp.net Mvc,HTML 控制器 $("#btn1").click(function () { $("[id*=btn2]").click(); }); $("#btn1").click(function (event) { $("#hdnIsButton1Clicked").val("1"); event.preventDefault() $("[id*=btn2]").click(); }) 在这里,我如何区分我是直接点击了btn2还是来自btn1?使用这样的代码: 将按
$("#btn1").click(function () {
$("[id*=btn2]").click();
});
$("#btn1").click(function (event) {
$("#hdnIsButton1Clicked").val("1");
event.preventDefault()
$("[id*=btn2]").click();
})
在这里,我如何区分我是直接点击了btn2
还是来自btn1
?使用这样的代码:
将按钮从submit更改为button。现在,HTML将如下所示:
[httpPost]
Public ActionResult MyAction(){
//some code
return view();
}
在控制器中:
var btn1_cliked = false;
$("#btn1").click(function () {
$(this).attr("name","btn1");
btn1_cliked = true;
$("[id*=btn2]").click();
});
$("#btn2").click(function () {
if(btn1_clicked)
$("button[name='btn1']").removeAttr("name","btn1");
$(this).attr("name","btn2");
$("#myForm").submit();
});
试试这个
var标志=0;
$(“#btn1”)。单击(函数(){
flag=1;
$(“[id*=btn2]”。单击();
});
$(“#btn2”)。单击(函数(e){
如果(标志==1){
flag=0;
警报(“来自btn1”);
}否则{
警报(“来自btn2”);
}
});代码>
保留一个隐藏的html标记以跟踪。
这里,从@ViewBag.hdnisButton1点击[HtpGet]/视图初始请求获取值
Check if $_POST['btn1'] //then btn1 clicked
else // then btn2 clicked
添加一个参数以获取隐藏值,并再次将viewbag数据设置为0
控制器
$("#btn1").click(function () {
$("[id*=btn2]").click();
});
$("#btn1").click(function (event) {
$("#hdnIsButton1Clicked").val("1");
event.preventDefault()
$("[id*=btn2]").click();
})
注意-您可以将隐藏值设置为真/假。我已经给出了解决方案。你想在控制器中使用它吗?是的,控制器会很好。你是否将表单提交到同一个操作MyAction,它是否返回相同的视图?@billy,你能将其标记为已接受的答案,因为它也有助于其他用户,这是应该的。Ty。
$("#btn1").click(function (event) {
$("#hdnIsButton1Clicked").val("1");
event.preventDefault()
$("[id*=btn2]").click();
})
[httpPost]
Public ActionResult MyAction(string hdnIsButton1Clicked){
if(hdnIsButton1Clicked == "1")
{
//user clicked button 1
}
@ViewBag.hdnIsButton1Clicked = "0";
return view();
}