Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Clauido José

Odeio array

Recommended Posts

Ola pessoal estou com um problema tenho uma função em javascript para validar um array de chekbock, bom essa o checkbock é criado dentro de um loop que faço com a quantidade de registro de uma determinada busca no banco sql server, essa pagina está em asp.

 

Bom está rotina estava funcionando até hotem não sei porque, ontem ele apareceu a seguinte mensagem.

LINHA: 227

CARACTERE: 6

'document.frmObjRotas.chkItem[...].checked' é nulo ou não é objeto

 

A rotina para validar para saber quantos checkbox estão selecionado é essa:

//-->Função para validar se o usuario selecionou algum item
function validachk(iQtdeVetor){
//Controles NÃO É ARRAY deve ser tratado sem o indíce
if (document.frmObjRotas.chkItem.length == undefined){
if (!document.frm.chkItem.checked){
alert('Selecione pelo menos um item!');
document.frmObjRotas.chkItem.focus();
return false;
}
}else{
var bmarcado = false;
var atribuido= false;
var ck 
for (var i=0;i<iQtdeVetor;i++){
if (document.frmObjRotas.chkItem[ i ].checked){ // o erro está nessa linha.
bmarcado = true;
if (document.frmObjRotas.codAtribuido[ i ].value=="RA"){
atribuido = true;
}
}	
}	
//Controles É ARRAY deve ser tratado com o indíce
if (!bmarcado){
alert('Selecione pelo menos um item!');
return false;
}
if ( atribuido ){
alert('Algum item já foi atribuido!')
for (var i=0;i<iQtdeVetor;i++){
if (document.frmObjRotas.chkItem[ i ].checked){
document.frmObjRotas.chkItem[ i ].checked=false
}
}   
return false;  
}
}
return true
}

Eu crio o array assim:

<table>
<%
while Not rsRota.EOF
%>
<tr bgcolor="<%=Bg%>" >
<td width="60"  align="left" class="SubTitulo" style="cursor:hand" onClick="chamaAssinantes('<%=rsRota("NoOs")%>')"><%=rsRota("NoOs")%></td>
<td width="60"  align="left" class="SubTitulo" ><%=rsRota("codServico")%></td>
<td width="100"  align="left" bgcolor="<%=Bg%>" class="SubTitulo" ><%=sTipoOs%></td>
<td width="60"  align="left" bgcolor="<%=Bg%>" class="SubTitulo"><%=rsRota("Periodo")%></td>
<td width="50"  align="left" bgcolor="<%=Bg%>" class="SubTitulo"><%=sStatus%></td>
<td width="160" align="left" bgcolor="<%=Bg%>" class="SubTitulo"><%=sEndereco%></td>
<td width="100"  align="left" bgcolor="<%=Bg%>" class="SubTitulo"><%=sCep11111%></td>
<td width="100"  align="left" bgcolor="<%=Bg%>" class="SubTitulo"><%=sTipoREsi%></td>
<td width="33"  align="left" bgcolor="<%=Bg%>" class="SubTitulo"><%=rsRota("idEmpresa")%></td>
<td width="33"  align="left" bgcolor="<%=Bg%>" class="SubTitulo"><%=rsRota("idTecnico")%></td>
<td width="33"  align="left" bgcolor="<%=Bg%>" class="SubTitulo"><input  name="chkItem" type="checkbox" id="chkItem" value="<%=rsRota("NoOs")%>" />
<input name="codAtribuido" type="hidden" id="codAtribuido" value="<%=sAtribuido%>" /></td>
</tr>
<%
rsRota.MoveNext
wEnd
%>
</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

exemplo de como resgatar os checkbox de mesmo nome

 

<form name=frm id=frm>
<input type=checkbox name=foo value=1>
<input type=checkbox name=foo value=2>
<input type=checkbox name=foo value=3>
</form>

<script>
obj = document.getElementById('frm').foo;
i = 0;
while( i < obj.length )
{
	document.write( obj[i].value );
	i++;
}
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.