Javascript 在表单元素数组中循环

Javascript 在表单元素数组中循环,javascript,Javascript,我将表单元素从ajax返回到表单中。我可以计算返回的元素数,但我不知道如何循环使用它们。我需要能够得到返回的每个元素的值 我很确定这是一个基本的javascript,我只是不知道。使用Ajax的问题看起来更复杂 我的代码如下所示: // The view page <html> <head> <script language="javascript"> function calculateAlphaTotals(){

我将表单元素从ajax返回到表单中。我可以计算返回的元素数,但我不知道如何循环使用它们。我需要能够得到返回的每个元素的值

我很确定这是一个基本的javascript,我只是不知道。使用Ajax的问题看起来更复杂

我的代码如下所示:

    // The view page
    <html>
    <head>
    <script language="javascript">
    function calculateAlphaTotals(){
        var length = document.myForm["alpha[]"].length;
        alert( length ); // correctly outputs 3
        for( var i = 0; i < length; i++ ){
            try{
                alert( document.myForm["alpha[]"].value ); // HTML ObjectCollection 
                alert( document.myForm["alpha["+i+"]"].value ); // Object Required
            } catch( error ) { }
        }
    }
    </script>
    </head>
    <body>
    <form name="myForm" id="myFormId" method="post">
        <div id="ajaxOutputId"></div>
    </form>
    </body>
    </html>

    // The Ajax page:

    <input name="alpha[]" onchange="calculateAlphaTotals()" />
    <input name="alpha[]" onchange="calculateAlphaTotals()" />
    <input name="alpha[]" onchange="calculateAlphaTotals()" />
//查看页面
函数calculateAlphaTotals(){
var length=document.myForm[“alpha[]”长度;
警报(长度);//正确输出3
对于(变量i=0;i
在正确的位置使用
索引-[]
运算符:

var x = document.myForm["alpha[]"];
for( var i = 0; i < x.length; i++ ){
    var currentValue = x[i].value;
    alert(currentValue);
}    
var x=document.myForm[“alpha[]”;
对于(变量i=0;i

您的:
document.myForm[“alpha[“+i+”]”]
更改字符串,而不是迭代集合。

在正确的位置使用
索引-[]
操作符:

var x = document.myForm["alpha[]"];
for( var i = 0; i < x.length; i++ ){
    var currentValue = x[i].value;
    alert(currentValue);
}    
var x=document.myForm[“alpha[]”;
对于(变量i=0;i

您的:
document.myForm[“alpha[“+i+”]”]
更改字符串,而不是迭代集合。

尝试使用
document.myForm[“alpha[]”][i]。value
而不是
document.myForm[“alpha[“+i+”]”。value

所以你的函数是这样的

    function calculateAlphaTotals(){
        var length = document.myForm["alpha[]"].length;
        alert( length ); // correctly outputs 3
        for( var i = 0; i < length; i++ ){
            try{
                alert( document.myForm["alpha[]"][i].value ); // Object Required
            } catch( error ) { }
        }
    }
函数calculateAlphaTotals(){
var length=document.myForm[“alpha[]”长度;
警报(长度);//正确输出3
对于(变量i=0;i
尝试使用
document.myForm[“alpha[]”][i]。value
而不是
document.myForm[“alpha[“+i+]”。value

所以你的函数是这样的

    function calculateAlphaTotals(){
        var length = document.myForm["alpha[]"].length;
        alert( length ); // correctly outputs 3
        for( var i = 0; i < length; i++ ){
            try{
                alert( document.myForm["alpha[]"][i].value ); // Object Required
            } catch( error ) { }
        }
    }
函数calculateAlphaTotals(){
var length=document.myForm[“alpha[]”长度;
警报(长度);//正确输出3
对于(变量i=0;i
你已经很接近了,但你需要改变一件事
document.myForm[“alpha[]”]
实际上是一个数组,所以如果你想循环遍历它,你需要在末尾加上你的
i
索引如下:
document.myForm[“alpha[]”][i]
你很接近了,但你需要改变一件事
document.myForm[“alpha[]”]
实际上是一个数组,因此如果您想循环遍历它,您需要在末尾添加
i
索引,如下所示:
document.myForm[“alpha[]”][i]

<script language="javascript">
    function calculateAlphaTotals(){
        var els = document.myForm["alpha[]"];
        for(var i = 0, ceiling = els.length; i < ceiling; i++){
             alert(document.myForm["alpha[]"][i].value);
        }
    }
</script>
函数calculateAlphaTotals(){ var els=document.myForm[“alpha[]”; 对于(变量i=0,上限=els.length;i<天花;i++){ 警报(document.myForm[“alpha[]”][i].value); } }

函数calculateAlphaTotals(){
var els=document.myForm[“alpha[]”;
对于(变量i=0,上限=els.length;i<天花;i++){
警报(document.myForm[“alpha[]”][i].value);
}
}

谢谢大家!我觉得这很简单,但我一直在逃避。如果你在HTML表单中有
,那么你就必须在JavaScript
文档中使用。myForm[“alpha[“+I+”]”]]]].value
因为对于JavaScript
'alpha[0]
'alpha[1]
都是单表单元素,而不是数组。谢谢大家!我觉得这很简单,但我一直在逃避。如果你在HTML表单中有
,那么你就必须在JavaScript
文档中使用。myForm[“alpha[“+I+”]”]]]].value
因为对于JavaScript
'alpha[0]
'alpha[1]
来说,它们只是单个表单元素,而不是数组。