我试图阻止用户多次点击提交按钮。为了类似的问题,我尝试了很多关于SO的事情。
例如:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js">
$('<% =btnUpload.ClientID %>').click(function () { this.disabled = true });
</script>
我也试过..
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js">
$("form").submit(function() {
$(this).submit(function() {
return false;
});
return true;
});
</script>
并在主页上尝试过...
<form onsubmit="if(submitted) return false; submitted = true; return true">
但是没用 我仍然可以不止一次点击按钮。
标记:
<asp:Button ID="btnUpload" runat="server" class="blue-button"
CssClass="ButtonText"OnClick="btnUpload_Click"
OnClientClick="if (!confirm('Are you sure that you want to Save entered details ?'))
return false;return doCustomValidate(event,true);"
Text="Save" />
另请注意,我正在使用母版页
答案 0 :(得分:2)
为其添加已禁用的属性。
$('#<% =btnUpload.ClientID %>').click(function () {
$(this).prop("disabled", true);
});
答案 1 :(得分:1)
#
之前的id
错过了<% =btnUpload.ClientID %>
,$(function(){
$('#<% =btnUpload.ClientID %>').click(function () {
this.disabled = true;
});
});
之前,
$(function(){
$('#<% =btnUpload.ClientID %>').one('click',function () {
// your code on click event
});
});
如果您只想添加点击事件一次,请使用one()之类的,
id
如果您的Clientid changes
更改(render
后class selector
),请尝试使用$(function(){
$('.ButtonText').click(function () {
this.disabled = true;
});
});
,
{{1}}
答案 2 :(得分:1)
如果您希望用户只需点击一次按钮,请使用.one()
附加活动。
jquery url:http://api.jquery.com/one/
答案 3 :(得分:1)
在javascript中设置一个count
变量。将其值初始化为0
。在.click()
事件侦听器中检查条件。 If
0
,允许执行代码并按1
增加计数。 Else
,返回false。
var count = 0;
$('#<% =btnUpload.ClientID %>').click(function () {
if (count == 0) {
count++;
return true;
} else {
return false;
}
});