【发布时间】:2015-03-20 14:06:17
【问题描述】:
我在按钮的 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;
}
}
}
});
此代码在初始页面加载时完美运行。当用户单击上传按钮时,按钮被禁用并启动服务器调用。在按钮末尾的代码后面单击按钮再次重新启用。其目的是阻止用户再次单击按钮。现在,当用户单击删除按钮时,此使用 .on 事件绑定的单击事件被解除绑定,并且当用户再次单击上传按钮时,它未被禁用。请给我你的建议。顺便说一句,删除完整页面被重新加载,这就是为什么它没有用事件重新绑定按钮。谢谢。
注意:如果您需要更多信息,请在 cmets 中提及。我们使用的控件是用于 ajax 调用目的的 anthem 控件。
【问题讨论】:
-
顺便说一句,我忘了提到我还尝试在服务器端的 deletebutton 末尾运行脚本,但它没有用。这是代码。 ClientScript.RegisterClientScriptBlock(Me.GetType(), "Javascript", "javascript: UploadBtnDisableEvents(); ", False)
-
也许按钮提交了?如果是,请将其更改为
buttonUpload.on('click', function (e) { e.preventDefault();- 我假设您想将表单内容 ajax 到服务器而不重新加载页面? -
@mplungjan 我不认为这是一个问题。这不是表单提交按钮。这是服务器端按钮。
-
什么是“服务器端按钮”?
-
服务器端控制。因为我在 Asp.net WebForms 中工作。
标签: javascript jquery asp.net