使用javaScript获取带有while循环的输出列表

时间:2013-09-29 06:54:13

标签: javascript html while-loop

我试图获得一个输出列表,这些输出不是按数字小于输入值的均匀分配。例如,如果输入值为10,则列表应为10,9,8,7,6, 4,3,1。下面是我的代码,并没有给我任何输出或任何错误消息。我是新的JavaScript,我需要知道我做错了什么。

<HTML XMLns="http://www.w3.org/1999/xHTML"> 
<head> 
<title>An example of using "for" and "while" in PHP</title>
<script type="text/javascript">
function displayResult()
{
if(text_form.numberfield.value){
var number=document.getElementsByName("numberfield").value;
var div=document.getElementsByName("numberfield").value;
        while (div>0)
        {
            if(number%div==0 && div!=number && div!=1)
            {
                div--;
                continue;
            }
            if (div == 0)
            {
                break;
            }

        document.write(div--); 
        document.write(",");
        }


}
else
{
document.write("Enter a number");
}
}
</script>

</head> 
<body>
<H1>An example of using "for" and "while" in PHP</H1>

<form name="text_form">
    Please input a number:  <input type="text" name="numberfield"> </label> 

    <input type="submit" value="Submit" onclick="displayResult()" />
</form>

<p> Result is shown as below.</p>
</body>
</HTML>

2 个答案:

答案 0 :(得分:1)

getElementsByName返回一个数组,而不是一个元素。

尝试:

var number=document.getElementsByName("numberfield")[0].value;
var div=document.getElementsByName("numberfield")[0].value;

注意[0]。您还必须修改一下才能使其正常工作。

DEMO

答案 1 :(得分:0)

getElementsByName返回具有指定名称而不是单个元素的元素列表。您可以使用循环访问每个元素:

var elems=document.getElementsByName("name")
for(var i=0;i<elems.length;i++){
var elem=elems[i]
//access each element using iterator
}

此外,getElementsByTagName返回具有指定标记名称的元素列表。