Ola pessoal é seguinte tenho um sistema que desenvolvi em asp e uso javascript para validar um array de checkbox ele ta funcionando mas este array eu monto dentro de um loop que abro com recordset, para chamar a rotina de validação eu uso a quantidade de registro aberto pelo recordset, meu problema ta que quando o recordset é maior que 100 ele fala que o valor do checkbox é nullo vou postar o codigo para você entenderem.
//-->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){
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
}
iQtdeVetor está variavel eu chamo do recordset seria a quantidade de checkbox que o loop cria.Chamo essa funcunção da seguinte maneira.
Pergunta
Clauido José
Ola pessoal é seguinte tenho um sistema que desenvolvi em asp e uso javascript para validar um array de checkbox ele ta funcionando mas este array eu monto dentro de um loop que abro com recordset, para chamar a rotina de validação eu uso a quantidade de registro aberto pelo recordset, meu problema ta que quando o recordset é maior que 100 ele fala que o valor do checkbox é nullo vou postar o codigo para você entenderem.
//-->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){ 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 }iQtdeVetor está variavel eu chamo do recordset seria a quantidade de checkbox que o loop cria.Chamo essa funcunção da seguinte maneira.<a href="#" onClick="mostraDiv('1','Atribui','<%=rs%>');">Atribui</a>função mostraDivfunction mostraDiv(sOpt,id,iQtdeVetor){ if (iQtdeVetor>50){ iQtdeVetor=50 } if ((sOpt==1) || (sOpt==2) || (sOpt==3)){ if (sOpt==1) { var validar= validachk(iQtdeVetor) document.frmObjRotas.hiMenu.value=sOpt }else if (sOpt==2){ var validar= validachkre(iQtdeVetor) document.frmObjRotas.hiMenu.value=sOpt } }else{ var validar= true } if ( validar ) { if(document.getElementById(id).style.display=="block") { document.getElementById(id).style.display="none" } else { document.getElementById(id).style.display="block" } } }Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.