是否可以在同一个 .html 页面的函数之上定义一些全局变量?
<script type="text/javascript">
birthYear = document.getElementById('<%=ddlBirthYear.ClientID %>');
birthMonth = document.getElementById('<%=ddlBirthMonth.ClientID %>');
birthDay = document.getElementById('<%=ddlBirthYear.ClientID %>');
function ValidateCardField(validator, args)
{
if (args.Value.length > 0)
args.IsValid = true;
else
args.IsValid = false;
}
...
我得到了变量值的空值。
最佳答案
是的,可以使用全局变量,而且您似乎做得对(尽管您可能应该使用 var
关键字来定义它们)。您当前面临的问题是您试图在 DOM 中的元素被渲染之前访问它们。您需要做的是全局定义您的变量,然后等待页面加载,然后再将它们分配给适当的 DOM 元素...
var birthYear, birthMonth, birthDay;
window.onload = function() {
birthYear = document.getElementById('<%=ddlBirthYear.ClientID %>');
birthMonth = document.getElementById('<%=ddlBirthMonth.ClientID %>');
birthDay = document.getElementById('<%=ddlBirthYear.ClientID %>');
}
现在,这些变量将在页面加载后全局访问。
关于javascript - JavaScript 变量的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1598557/