我有一个带有这样的提交按钮的网络表单
<asp:Button ID="btnSub" runat="server" Text="submit" OnClientClick="return processSub();" />
它调用的javascript函数就像这样
function processSub(){
var btnId = '<%= btnSub.ClientID %>'
var userSelection = confirm('Are you sure you wish to submit');
if (userSelection){
document.getElementById(btnId).setAttribute("disabled","disabled");
return true;
} else {
return false;
}
}
现在我想在用户点击提交时禁用提交按钮。但是当我调用代码将属性设置为禁用时,提交不会发生。
当我在IF块中对此行document.getElementById(btnId).setAttribute("disabled","disabled");
发表评论时,它会继续提交。
为什么会这样,我该如何让它发挥作用?我没有使用任何JavaScript库,也不想这样做。
感谢。
答案 0 :(得分:0)
即使按钮上没有指定OnClick
,它在点击时仍会执行表单发布(PostBack)。您使用javascript设置disabled
状态,但在发生PostBack后立即将Button重置为原始状态。
如果要禁用该按钮,可以在用户确认后在代码中设置它。
<asp:Button ID="btnSub" runat="server" Text="submit" OnClientClick="return processSub();"
OnClick="btnSub_Click" />
protected void btnSub_Click(object sender, EventArgs e)
{
//disable the button
btnSub.Enabled = false;
}
答案 1 :(得分:-1)
在返回if语句
之前用js提交表格document.forms[0].submit();