Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript函数中动态创建变量_Javascript_Variables - Fatal编程技术网

在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;