将javascript放入$(document.ready)时出现问题

将javascript放入$(document.ready)时出现问题,javascript,jquery,Javascript,Jquery,嗨,我有下面的代码在没有$(文档)的情况下运行良好。准备好了吗 函数验证_文本框(发送方,参数){ var firstName=document.getElementById(“”); var lastName=document.getElementById(“”); 如果((firstName==“”)和&(lastName==“”){ 窗口。警报(“错误”); } } 当我将此代码放入$(document.ready)中时,它给出了“MicrosoftJScript运行时错误:预期对象

嗨,我有下面的代码在没有$(文档)的情况下运行良好。准备好了吗


函数验证_文本框(发送方,参数){
var firstName=document.getElementById(“”);
var lastName=document.getElementById(“”);
如果((firstName==“”)和&(lastName==“”){
窗口。警报(“错误”);
}
} 
当我将此代码放入$(document.ready)中时,它给出了“MicrosoftJScript运行时错误:预期对象”错误

$(document).ready( function(){
    function Validate_Textbox(sender, args) {
        var firstName = document.getElementById("<%= TextBox_FirstName.ClientID %>");
        var lastName = document.getElementById("<%= TextBox_LastName.ClientID%>");
        if ((firstName == "") && (lastName == "")){
              window.alert("Error");
        }
    }       
});
$(文档).ready(函数(){
函数验证_文本框(发送方,参数){
var firstName=document.getElementById(“”);
var lastName=document.getElementById(“”);
如果((firstName==“”)和&(lastName==“”){
窗口。警报(“错误”);
}
}       
});

之所以发生这种情况,是因为有东西在寻找您的
验证文本框
函数,该函数不仅在该
文档中定义。ready
处理程序的作用域,而不是全局范围…因此在
文档.ready
处理程序之外,
验证文本框
不存在…当您调用它时,你得到了你的错误。

发生这种情况是因为有东西在寻找你的
Validate\u Textbox
函数,它不仅在
文档中定义。ready
处理程序的作用域,而不是全局范围…所以在
文档.ready
处理程序之外,
Validate\u Textbox
不存在…当你调用它时,您将收到错误。

您现在正在另一个(匿名)函数中声明
验证\u文本框
函数。与所有变量一样,它现在只能在该函数中使用。您将无法在应用程序中的其他任何位置使用它


$(document).ready()回调函数中声明函数没有任何函数优势。更好的问题是:
Validate\u Textbox
调用在哪里?

您现在正在另一个(匿名)函数中声明
Validate\u Textbox
函数。与所有变量一样,它现在只能在该函数中使用。您将无法在应用程序中的其他任何位置使用它


$(document).ready()回调函数中声明函数没有任何函数优势。更好的问题是:
Validate\u Textbox
在哪里被调用?

您应该在$(文档)ready块之外拥有它,因为它是一个自包含函数,将从$(文档)ready块内的代码调用。

您应该在$(文档)之外拥有它.ready块,因为它是一个自包含函数,将从$(document)中的代码调用.ready块。

它看起来像是将
视为一个字符串,而不是从ASP获取它的值。我猜,它看起来像是将
视为一个字符串,而不是从ASP获取它的值,ASP.我在CustomValidator中使用Validate_文本框我在CustomValidator中使用Validate_文本框
$(document).ready( function(){
    function Validate_Textbox(sender, args) {
        var firstName = document.getElementById("<%= TextBox_FirstName.ClientID %>");
        var lastName = document.getElementById("<%= TextBox_LastName.ClientID%>");
        if ((firstName == "") && (lastName == "")){
              window.alert("Error");
        }
    }       
});