Javascript 一个按钮中有两个onClick函数,并且希望一次又一次地出现一个click函数
实际上,我正试图在单击按钮时添加一个对话框。但在该按钮的OnClick函数上,我已经调用了控制器的函数。这方面的HTML代码是:Javascript 一个按钮中有两个onClick函数,并且希望一次又一次地出现一个click函数,javascript,jquery,html,asp.net,asp.net-mvc,Javascript,Jquery,Html,Asp.net,Asp.net Mvc,实际上,我正试图在单击按钮时添加一个对话框。但在该按钮的OnClick函数上,我已经调用了控制器的函数。这方面的HTML代码是: <div class="pro-btn btn"> @{ <input type="button" id="place-bid-button-@Model.ProductId" class="button-1"value="@T("Nopaholics.Auction.AuctionDetailView
<div class="pro-btn btn">
@{
<input type="button" id="place-bid-button-@Model.ProductId" class="button-1"value="@T("Nopaholics.Auction.AuctionDetailView.PlaceBid")" data- productid="@Model.ProductId"
onclick="Auction.placeBid('@Url.RouteUrl("Nopaholics.Auction.PlaceBid", new { productId = Model.ProductId, auctionId = Model.AuctionId })', '#product-details-form');return false;" />
}
</div>
@{
}
现在,在写下jquery之后,这两个单击功能同时工作。但我想首先通过单击对话框的OK按钮和要调用的控制器操作进行确认
<script>
$('#place-bid-button-'+@Model.ProductId.ToString()).click(function(e){
$( "#dialog-confirm" ).dialog({
resizable: false,
height:160,
modal: true,
buttons: {
"OK": function() {
$( this ).dialog( "close" );
$("#place-bid-button-@Model.ProductId.ToString()").click();
},
Cancel: function(e) {
$( this ).dialog( "close" );
$('#place-bid-button-'+@Model.ProductId.ToString()).die();
console.log(e);
//return false;
//e.preventDefault();
}
}
});
});
</script>
$('#放置出价按钮-'+@Model.ProductId.ToString())。单击(函数(e){
$(“#对话框确认”)。对话框({
可调整大小:false,
身高:160,
莫代尔:是的,
按钮:{
“OK”:函数(){
$(此).dialog(“关闭”);
$(“#放置出价按钮-@Model.ProductId.ToString()”)。单击();
},
取消:功能(e){
$(此).dialog(“关闭”);
$('#放置出价按钮-'+@Model.ProductId.ToString()).die();
控制台日志(e);
//返回false;
//e、 预防默认值();
}
}
});
});
任何帮助都将不胜感激。提前感谢。在单个
onclick
属性上编写函数,如:onclick=“firstFunction();SecondFunction();”
如果您在firstFunction中有
确认/警报
框,则确认/警报
函数将暂停代码的执行,直到代码被解除。这意味着当firstFunction确认关闭时,将调用第二个函数。您希望在单击按钮时执行某些操作,前提是用户单击确认对话框以确定,
因此,您需要在单击对话框的“确定”按钮时调用“ur action method”/操作代码(需要执行),而不是再次显式调用“click()”操作。您不需要多个函数。我也建议完全摆脱内联点击处理程序 您可以使用
data-*
前缀自定义属性存储url,该属性可以使用属性获取
HTML
删除按钮中的
onclick
,并在的“确定”:function(){$(this).对话框(“close”);//调用Auction.placeBid此处…
需要执行的2个方法是什么?因为我看到onclick=“Auction..”不是razor代码(@缺失)。创建一个js方法,并在$(this)行后调用它.dialog(“close”);我尝试了您的方法,但在单击按钮时,未显示任何更改无错误,但按钮剪辑未显示任何更改effect@Bijaykushawaha,我也修改了HTML,你使用的是精确的代码吗?非常感谢…@Satpal。它真的帮了我大忙
@{
<input type="button" class="place-bid-button button-1"
value="@T("Nopaholics.Auction.AuctionDetailView.PlaceBid")"
data-url="@Url.RouteUrl("Nopaholics.Auction.PlaceBid", new { productId = Model.ProductId, auctionId = Model.AuctionId })"
data-form="#product-details-form"/>
}
//Bind click hndler using a common class
$('.place-bid-button').click(function(e) {
//Store the refrence in a variabled
var self = this;
$("#dialog-confirm").dialog({
resizable: false,
height: 160,
modal: true,
buttons: {
"OK": function() {
//Cal the method with url and form name
Auction.placeBid(self.dataset.url, self.dataset.form);
$(this).dialog("close");
},
Cancel: function(e) {
$(this).dialog("close");
}
}
});
});