单击“服务器端调用后未绑定的事件”

时间:2015-03-17 07:20:01

标签: javascript jquery asp.net

我在按钮的Click事件上遇到问题。请查看以下Javascript代码。



$(function () {
            
            UploadBtnDisableEvents();
            
            function UploadBtnDisableEvents() {
                var buttonUpload = $('#' + '<%= imgBtnDocUpload.ClientID %>');
                var txtfile = $('#' + '<%= filUpload.ClientID %>');
                var txtname = $('#' + '<%= txtDocName.ClientID %>');

                buttonUpload.on('click', function () {
    
                    validateControls(txtfile, txtname)) {
                        setTimeout(function () {
                            buttonUpload.prop('disabled', true);
                            buttonUpload.removeAttr('href');
                        }, 10);

                    }
                });

                var validateControls = function (file, docname) {
                    var inputname = docname.val();
                    var inputfile = file.val();
                    if (inputname == "" || inputfile == null || inputfile == "" || inputfile == null) {
                        return false;
                    }
                    else {
                        return true;
                    }
                }
            }
        });
&#13;
&#13;
&#13;

此代码在加载页面时非常有效。当用户单击“上传”按钮时,将禁用该按钮并启动服务器调用。在按钮结束时的代码后面再次启用按钮单击按钮。它的目的是阻止用户再次点击按钮。现在,当用户点击删除按钮时,使用.on事件绑定的点击事件将被解除绑定,当用户再次点击上传按钮时,它不会被禁用。请给我你的建议。顺便说一句,删除完整页面是重新加载的,这就是为什么它没有用事件重新绑定按钮。感谢。

注意:如果您需要更多信息,请在评论中提及。我们使用的控件是用于ajax调用目的的国歌控制。

1 个答案:

答案 0 :(得分:0)

经过大量努力,我得到了解决问题的方法。在回调的情况下发生了什么是完整的DOM没有加载所以我做的是我已经注册了我的UploadBtnDisableEvents函数。这是我在回调按钮点击上写的行。

ClientScript.RegisterStartupScript(Me.GetType(), "Javascript", "javascript: DisableControls(); ", True)

上面的代码在回调完成时重新注册我的脚本。