单击按钮后禁用按钮
在我的应用程序中,我需要禁用按钮,一旦它被点击,以便用户不应单击多次。应用程序是MVC ASP.NET我已经在普通的asp.net应用程序中完成了这项工作。 我尝试下面的代码行,但它不工作单击按钮后禁用按钮
在此先感谢
编辑 我怎样才能实现这个使用JavaScript?
<button type="button" onclick="this.disabled = 'disabled';">Click Me!</button>
虽然Button Web控件呈现为提交:
<input type="submit" onclick="this.disabled = 'disabled';" value="Submit" />
你使用jQuery来禁用或隐藏,甚至按钮@prakash?
如果你的按钮的ID是“btnClickMe”,那么下面的jQuery将完成这项工作。
$("#btnClickMe").hide();
您还可以使用jQuery设置disbaled属性;
$("#btnClickMe").attr("disabled","disabled");
上面的一个未经测试,但应该工作。
NUP它不工作..它禁用按钮,但表单不提交 – batwadi 2010-02-24 05:32:10
我发现,IE8(我不确定其他版本的IE),你不能提交表单,如果你禁用点击事件按钮。所以我想出了一个替代解决方案。隐藏点击的按钮并放置一个新的禁用按钮。下面的代码:
$().ready(function() {
$("someButtonSelector").click(function() {
$(this).hide();
$(this).after('<input type="button" disabled="disabled" value="' + $(this).val() + '" />');
return true;
});
});
谢谢,它为我工作的解决方法! – 2013-03-06 13:21:56
你可以试试这个:
onclick="if (this.getAttribute('clicked') == '1') { return false; } else { this.setAttribute('clicked', '1'); }"
它不会关闭任何东西,只是防止click事件是第一次点击后。
+1是一个伟大的和被低估的解决方案。国际海事组织,你不需要真正看到按钮的禁用样式。让用户尽可能多地点击他们想要的次数。所有开发人员关心的是避免重复的帖子。 – oscilatingcretin 2014-03-17 18:14:06
我发现,如果你禁用甚至删除按钮或输入元素,它会停止回调服务器,最简单的方法来处理这是一个hide(),因为你没有删除输入的功能按钮/任何
$('input_selector').click(function() {
$(this).hide(200/whatever);
$(this).before('<p>Waiting for server to respond?!?</p><br/>')
});
因为它是一个隐藏的br是确保p标签在它上面。 可能有更好的方法,我愿意提供建议。
这工作得很好的欢迎,并很容易理解:
var myButton = $('input:submit');
var waitMessage = 'wait please...';
myButton.click(function() {
if (bottone.val() == waitMessage) {
return false;
};
myButton.val(waitMessage);
console.log('iClicked'); // this line is for testing only, it can be removed.
});
这是我的一个按钮调用的MVC动作,然后自行禁用:
<button class="btn blue pull-right" onclick="location.href='@Url.Action("Index", "GetData", new { page = Model.PageNumber + 1, sortOrder = Model.CurrentSort, fromDate = Model.FromDateParam, toDate = Model.ToDateParam, terminatingpoint = Model.TerminationPointParam, SurecallNo = Model.SurecallNoParm, CallerID = Model.CallerIDParm, outcome = Model.OutcomeParm, pagesize = Model.PageSize })';this.disabled = 'disabled'" >Next ></button>
var but = 1;
function f() {
if(but == 1) {
alert("Hello World!");
but = 0;
}
}
希望它帮助。
这将工作:
OnClientClick="if (this.getAttribute('clicked') == '1') {
return false;
} else {
this.setAttribute('clicked', '1');
}"
你似乎有asp.net mvc的缺乏了解。查看http://www.asp.net/(S(pdfrohu0ajmwt445fanvj2r3))/learn/mvc/上的一些视频。 – 2010-02-19 04:22:43