Microsoft JScript运行时错误:'(函数名)'未定义

时间:2010-05-01 04:05:18

标签: asp.net visual-studio-2010

Microsoft JScript运行时错误:'txtGivenName_OnFocus'未定义

将我认为不相关的javascript代码添加到网页后,我突然收到错误,表明浏览器无法找到一个javascript函数,对我来说,在设计模式下看起来很明显。

我认为这是某种加载顺序排序问题。最初,我的脚本位于页面底部。我这样做的目的是帮助我的网站的SEO排名。

当我将功能移到网页顶部时,错误就消失了。现在又回来了。

我有一种感觉,有人会建议一个jQuery解决方案,只有在页面完全加载时执行一些代码。我对jQuery一无所知。如果在答案中给出了jQuery,请解释我需要做什么(引用,脚本文件的放置)VS 2010 RTM。

我正在尝试将焦点设置到网页上的第一个文本框并预选文本框中的所有文本

更多信息:

如果我禁用此验证器,则问题就会消失:

<asp:CustomValidator ID="valSpecifyOccupation" runat="server" ErrorMessage="Required"
                                            ClientValidationFunction="txtSpecifyOccupation_ClientValidate" 
                                            Display="Dynamic" Enabled="False"></asp:CustomValidator>



function txtSpecifyOccupation_ClientValidate(source, args) {

    var optOccupationRetired = document.getElementById("<%=optOccupationRetired.ClientID %>");

    if (optOccupationRetired.checked) {
        args.IsValid = true;
    }
    else {
        var txtSpecifyOccupation = document.getElementById("<%=txtSpecifyOccupation.ClientID %>");
        args.IsValid = ValidatorTrim(txtSpecifyOccupation.value) != "";
    }

}

1 个答案:

答案 0 :(得分:1)

是的,我想最有可能的是装货订单问题。而且......我完全会推荐jquery ......

无论您在何处调用JavaScript函数 txtSpecifyOccupation_ClientValidate ;我假设您可以在加载时动态地将脚本块写入页面......

如果是这种情况。我会将以下内容添加到您生成的脚本块...

 $(function() {
...  call to function
    txtSpecifyOccupation_ClientValidate();
...
    });

jquery非常容易学习。 http://docs.jquery.com/Main_Page