0

我正在为 ASP.NET Web 应用程序中的表单中的必填字段实现 JavaScript 验证。

我正在获取要验证的控件的 ClientID 并从中提取值并检查它是否为空:

function validate()
{
    if(document.getElementById('<%=textbox1.clientID %>').value=="")
    {
        alert('mandatory');
        return false;
    }
}

我正在验证客户点击按钮。当上述函数放在同一页面中时,此代码工作得很好。

但是当我将它放在一个外部文件中并调用它时,代码不起作用。

它在外部 .js 文件中调用函数并抛出错误消息,例如object not found at document.geteleementByid() 行

4

2 回答 2

0

您的 JavaScript 代码正在调用服务器端属性textbox1.ClientID。为了将代码放在 .js 文件中,您需要在 .aspx 文件中的某处调用该服务器端属性,并将获得的值发送到 JavaScript 函数:

function callValidation() {
    return validation('<%= textbox1.ClientID %>');
}

然后您的 .js 文件将包含实际的验证方法:

function validate(elementId)
{
    if(document.getElementById(elementId).value=="")
    {
        alert('mandatory');
        return false;
    }
}
于 2013-07-17T10:25:40.053 回答
0

尝试将参数添加到您的方法中。当你调用外部方法时,添加参数 '<%=textbox1.clientID %>' 如下所示。

<javascript>
     var param = document.getElementById('<%=textbox1.clientID %>').value;
     validate(param);
</javascript>
于 2013-07-17T10:31:19.990 回答