Tenho um arquivo que trata as chamadas que uma biblioteca ajax faz, mas na hora do tratamento ele retorna o seguinte erro:
subcat.options IS undefined
subcat.options.LENGTH = 0;
o tratamento está assim:
function trataProduto()
{
subcat = document.forms[0].produto;
subcat.options.length = 0; //AQUI ESTÁ O ERRO!!!!
subcat.options[0] = new Option("Carregando...","teste");
if (ajax.readyState == 4) {
subcat.options.length = 0;
results = ajax.responseText.split(",");
subcat.options[0] = new Option( "Selecione", "selecione" );
for( i = 0 ; i < results.length; i++)
{
string = results[i].split( "|" );
subcat.options[1+i] = new Option( string[0], string[1] );
}
}
}
O arquivo PHP está assim:
<form>
<table width="100%" border="1" id="tabelaitem">
<tr>
<td width="10%" scope="col">Categoria</td>
<td width="21%" scope="col">Produto</td>
</tr>
//1º LINHA COM SELECT'S
<tr>
<td>
<select name="categoria" id="categorias" onchange="Javascript:requisicaoHTTP('GET','query_produto.php?cat=1',true,trataProduto)";><option selected="selected" value="0">Selecione</option><option value="1">Bovina</option><option value="2">Suina</option><option value="3">Avina</option><option value="4">Ovina</option></select>
</td>
<td>
// Desconfio que aqui está o problema esse ID está igual a próxima linha da tabela
<select id="produto" name="produto" onchange="Javascript:requisicaoHTTP('GET','query_tipo.php?idprod=1',true,trataTipo)";></select>
</td>
</tr>
//2º LINHA COM AS SELECT'S IGUAIS A DE CIMA
<tr>
<td>
<select name="categoria" id="categorias" onchange="Javascript:requisicaoHTTP('GET','query_produto.php?cat=1',true,trataProduto)";><option selected="selected" value="0">Selecione</option><option value="1">Bovina</option><option value="2">Suina</option><option value="3">Avina</option><option value="4">Ovina</option></select>
</td>
<td>
// Desconfio que aqui está o problema esse ID está igual a linha de cima da tabela.
<select id="produto" name="produto" onchange="Javascript:requisicaoHTTP('GET','query_tipo.php?idprod=1',true,trataTipo)";></select>
</td>
</tr>
Estranho que assim, quando isolo/retiro a 2º LINHA, a requisição e o tratamento são feitos perfeitamente, e os dados são retornados corretamente.
Mas acontece que preciso de várias linhas com campos iguais um embaixo do outro !!!
Que erro doido é esse? Será que é porque estou dando o mesmo ID para os dois campos "PRODUTO" ??? Tentei algumas formas e não tive sucesso ainda!
[]'s,
Agradeço desde já