在JavaScript函数中动态创建变量
我无法让它工作:在JavaScript函数中动态创建变量,javascript,variables,Javascript,Variables,我无法让它工作: function formvalidation() { var SiteNum= document.getElementsByName("sitesinput")[0].value; var i=1; while (i<=SiteNum) { var SitePhone= document.getElementsByName(site['i'])[0].value; alert(SitePhone); i+
function formvalidation()
{
var SiteNum= document.getElementsByName("sitesinput")[0].value;
var i=1;
while (i<=SiteNum)
{
var SitePhone= document.getElementsByName(site['i'])[0].value;
alert(SitePhone);
i++;
}
}
但我不能让它进入变量
谢谢你的关注,
B.尝试更换线路
var SitePhone= document.getElementsByName(site['i'])[0].value;
为了
你在一行中的i周围加引号
var SiteNum = document.getElementsByName(site['i'])[0].value
它正在查找由字符串“i”而不是变量i的值键入的元素。尝试删除引号。尝试
alert(document.getElementsByName(site[i])[0].value);
从
i
中删除引号。使用for
循环,因为它比while
循环更适合用例
function formvalidation()
{
var SiteNum= document.getElementsByName("sitesinput")[0].value,
SitePhone;
for(var i=1; i<=SiteNum; i++)
{
SitePhone = document.getElementsByName(site[i])[0].value;
alert(SitePhone);
}
}
我喜欢这个解决方案,但是如果没有引号(“),它就不能工作,也就是说,如果做所有事情都一样,但是把名字放在我自己的名字里,比如(“站点[1]”),它会工作的。有什么想法吗?哦,那么
站点不是一个包含名称的数组吗?请参阅我的编辑。
alert(document.getElementsByName(site[i])[0].value);
function formvalidation()
{
var SiteNum= document.getElementsByName("sitesinput")[0].value,
SitePhone;
for(var i=1; i<=SiteNum; i++)
{
SitePhone = document.getElementsByName(site[i])[0].value;
alert(SitePhone);
}
}
SitePhone = document.getElementsByName('site[' + i + ']')[0].value;