日期:2014-05-16  浏览次数:20352 次

用JS如何获取HTML页面上的控件数组<input type="text" name="myarr[1]">这种?
一个HTML页面内有20个控件,类型有TEXT SELECT,命名时采用数组形式。
请问如何用JS获取每个控件的值?
再请问下,如果获取时不是以数组形式,那通过什么方法或函数可以生成数组?
因为最终目的是,JS做验证,形成数组传给PHP的。

谢谢。


代码如:
<script language="javascript">
function validate()
{
alert('test');
return false;
}
</script>
<form id="form1" name="form1" method="post" action="" onSubmit="javascript:return validate()">
  <p>
  <input type="text" name="myarr[1]" id="myarr[1]">
  </p>
  <p>
  <input type="text" name="myarr[2]" id="myarr[2]">
  </p>
  <p>
  <input type="text" name="myarr[3]" id="myarr[3]">
  </p>
  <p>
  <select name="myarr[4]" id="myarr[4]">
  </select>
  </p>
  <p>
  <input type="Submit" name="btnSubmit" id="btnSubmit" value="提交">
  </p>
</form>

------解决方案--------------------
document.Element
------解决方案--------------------
JScript code

function validate()
    {
        var array = GetControlArray();
        
        for (var i = 0; i < array.length; i++)
        {
            alert(array[i].tagName);
        }
        
        return false;
    }
    
    function GetControlArray()
    {
        var arrayControl =  new Array();
        
        for (var i = 1; i <= 4; i++)//這裡i設置為你以某種命名規則命名的控件數量
        {
            arrayControl[i - 1] = document.getElementById('myarr[' + i + ']');//把以該命名規則命名的控件都放在arrayControl這個數組中
        }
        
        return arrayControl;//返回包含以該命名規則命名的所有控件
    }