在页面加载事件中从页面后面调用javascript

时间:2013-05-11 06:33:18

标签: c# javascript asp.net modal-dialog

我正尝试使用以下代码从后面的页面调用JavaScript“DisableAllPopUpTxt()”:

ScriptManager.RegisterStartupScript(GetType(), "Javascript", "javascript:DisableAllPopUpTxt();", true);

但它给了我以下错误:

方法RegisterStartupScript没有重载需要4个aurguments 请告诉我我哪里错了。

实际上我的 MasterPage 有一个模式对话框注册表单,其中包含客户端验证。 由于验证,我无法回复任何内容。

所以我试图在页面加载时使用JS函数“DisableAllPopUpTxt()”禁用所有文本框。

function DisableAllPopUpTxt() {

    document.getElementById("txtCustEmailID").disabled = true;
    document.getElementById("txtCustPwd").disabled = true;
    document.getElementById("txtCustFName").disabled = true;
    document.getElementById("txtCustLName").disabled = true;
    document.getElementById("txtCustREmail").disabled = true;
    document.getElementById("txtCustRPwd").disabled = true;
    document.getElementById("txtCustRePwd").disabled = true;
    document.getElementById("txtCustPh").disabled = true;
}

但是我无法在页面加载时调用它。

如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

它需要5个参数,你已经以错误的方式传递了4个。

应该是:

ScriptManager.RegisterStartupScript(this,this.GetType(), "Javascript", "javascript:DisableAllPopUpTxt();", true);

语法:

ScriptManager.RegisterStartupScript Method (Control, Type, String, String, Boolean);

可以关注here上的示例。

答案 1 :(得分:0)

请在使用母版页时尝试这些更改。

function DisableAllPopUpTxt() {

    document.getElementById("<%=txtCustEmailID.ClientID%>").disabled = true;
    document.getElementById("<%=txtCustPwd.ClientID%>").disabled = true;
    document.getElementById("<%=txtCustFName.ClientID%>").disabled = true;
    document.getElementById("<%=txtCustLName.ClientID%>").disabled = true;
    document.getElementById("<%=txtCustREmail.ClientID%>").disabled = true;
    document.getElementById("<%=txtCustRPwd.ClientID%>").disabled = true;
    document.getElementById("<%=txtCustRePwd.ClientID%>").disabled = true;
    document.getElementById("<%=txtCustPh.ClientID%>").disabled = true;
}