在用户录入数据点击保存后,保存按钮变灰,不可点击,以防止用户重复提交数据。
asp.net按钮变灰实现思路:
放两个按钮,第一个就是普通的客户端input,第二个按钮是服务器端控件用于处理用户点击保存后执行的业务。
显示第一个input,将第二个服务器端按钮的display设为none。
在用户点击第一个input后,将其disabled掉,并在客户端触发第二个服务端按钮的点击事件。
代码:
<input id="btnClick" type="button" class="btn70" value="保 存" onclick="validateInput()" />
<asp:Button ID="btSave" runat="server" Text="保 存" OnClick="btSave_Click" style="display:none">
</asp:Button>
function validateInput()
{
var vtxtName = $("#txtName").val();
var vddlIdcParent = $("#ddlIdcParent").val();
var vddlInnerNetworkStructure = $("#ddlInnerNetworkStructure").val();
var vddlOuterNetworkStructure = $("#ddlOuterNetworkStructure").val();
var vddlPlanBusinessType = $("#ddlPlanBusinessType").val();
var errorStr = "";
if($.trim(vtxtName) == "")
errorStr += "***不能为空" + "n";
if($.trim(vddlIdcParent) == "")
errorStr += "***不能为空" + "n";
if($.trim(vddlInnerNetworkStructure) == "")
errorStr += "XXX不能为空" + "n";
if($.trim(vddlOuterNetworkStructure) == "")
errorStr += "SS不能为空" + "n";
if($.trim(vddlPlanBusinessType) == "")
errorStr += "DDD不能为空" + "n";
// www.plcxue.com
if($("#txtModifyExplain").length > 0)
{
var vtxtModifyExplain = $("#txtModifyExplain").val();
if(!vtxtModifyExplain || $.trim(vtxtModifyExplain) == "")
{
errorStr += "修改原因不能为空n";
}
}
if(errorStr != "")
{
alert(errorStr);
return false;
}
else
{
$("#btnClick").attr("disabled", true);
$("#btSave").click();
}
}
代码中作了验证,一般表单页面都有检验这一步,如果有可以直接将这段代码拷过去用。
注:用了jquery,也可以用原生js代码。