Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 一个按钮中有两个onClick函数,并且希望一次又一次地出现一个click函数_Javascript_Jquery_Html_Asp.net_Asp.net Mvc - Fatal编程技术网

Javascript 一个按钮中有两个onClick函数,并且希望一次又一次地出现一个click函数

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

实际上,我正试图在单击按钮时添加一个对话框。但在该按钮的OnClick函数上,我已经调用了控制器的函数。这方面的HTML代码是:

<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");
            }
        }
    });
});