visto che ci sono, ho recuperato delle funzioni che ho in libreria, più generali e forse più utili.

metto la pagina
codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Pagina senza titolo</title>

<script language="javascript" type="text/javascript">
// <!CDATA[

function Button1_onclick() 
{
    //var a = elementi_lista();
    var a = getElements("body", "input", "text", "lista_");
    for(var i = 0; i < a.length; i++)
    {
            alert(a[i].value);
    }
}

function elementi_lista()
{
    var a = [];
    var es = document.getElementsByTagName("*");
    for(var i = 0; i < es.length; i++)
    {
        if(es[i].id && es[i].id.substr(0, 6) == "lista_")
            a.push(es[i]);
    }
    return a;
}


/*--------------------------------------------------------------------------
trova gli elementi che soddisfano il criterio in un vettore:
source:		contenitore o id contenitore. se null = body
tagName:	se null = "*"
type:		se null non ne tengo conto
idSearch:	se valorizzato, tutti gli elementi con id che inizia con idSearch
----------------------------------------------------------------------------*/
function getElements(source, tagName, type, idSearch)
{
	var v = [];
	
	var result = getTypeParameter(source);
	if(result == 0)
		source = document.body;
	else if(result == 2)
		source = document.getElementById(source);
	else if(result == 4)
		source = source;
	else
		return v;

	tagName = (tagName == undefined)? "*" : tagName;
	type = (type == undefined)? "" : type;
	idSearch = (idSearch == undefined)? "" : idSearch;

	var elementi = source.getElementsByTagName(tagName);
	var n = elementi.length;
	for(var i = 0; i < n; i++)
	{
		var elemento = elementi[i];
		if( (elemento.type != undefined) && ((elemento.type.toLowerCase() == type.toLowerCase()) || (type == "")) )
		{
			if( (elemento.id != undefined) && (elemento.id.indexOf(idSearch, 0) == 0 || idSearch == "") )
			{
				v[v.length] = elemento;
			}
		}
	}
	
	return v;


}

/*----------------------------------------------------------
Restituisce il tipo di parametro ricevuto
0 -> indefinito
1 -> funzione
2 -> id oggetto che supporta innerHTML
3 -> id oggetto che supporta value
4 -> oggetto che supporta innerHTML
5 -> oggetto che supporta value
6 -> vettore
-----------------------------------------------------------*/
function getTypeParameter(v)
{
	if(typeof(v) == "undefined")
	{
		//alert("undefined");
		return 0;
	}
	else if(typeof(v) == "function")
	{
		//alert("funzione");
		return 1;
	}
	else if(typeof(v) == "string")
	{
		if(document.getElementById(v) != undefined)
		{
			if(document.getElementById(v).value != undefined)
			{
				//alert(" id value");
				return 3;
			}
			else if(document.getElementById(v).innerHTML != undefined)
			{
				//alert("id innerHTML");
				return 2;
			}
		}
		else return 0;
		

	}
	
	else if(typeof(v) == "object")
	{
		if(v == null)
		{
			//alert("null");
			return 0;
		}
		else
		{
			if(v.length != undefined)
			{
				//alert("vettore");
				return 6;
			}
			else
			{
				if(v.value != undefined)
				{
					//alert(" oggetto value");
					return 5;
				}
				else if(v.innerHTML != undefined)
				{
					//alert("oggetto innerHTML");
					return 4;
				}
				
			}
		}
	}
	//indefinito o altro
	return 0;
	
}
// ]]>
</script>
</head>
<body>
    <input id="Button1" type="button" value="button" onclick="return Button1_onclick()" />

    <input type="text" id="lista_0" value="valore_0" />

    <input type="text" id="lista_1" value="valore_1" />

    <input type="text" id="lista_2" value="valore_2" />

    <input type="text" id="lista_3" value="valore_3" />

</body>
</html>