Los Foros de ASPTutor.com
Home | Perfil | Registrarse | Temas Activos | Miembros | Buscar | FAQ
Usuario:
Password:
 Todos los Foros
 ASP
 [OT] No funciona para un sólo registro
 Foro Bloqueado  Tema Bloqueado


Autor Temas
dasanchezr
Starting Member

Colombia
30 Posts
Mensajes - 17 Mar 2005 :  16:07:35  Ver Perfil  Enviar Email
Hola a todos !!!

Tengo el siguiente script de Java para formar un vector con números de registros separados por comas según los checkbox que se seleccionen.


function btnQuitar_onclick(){
document.frmNoticiasAsoc.nmNoticiaAsoc.value = "-1";
for (i = 0; i <= document.frmNoticiasAsoc.nmNoticiaAsoc.length - 1; i++) {
if (document.frmNoticiasAsoc.nmNoticiaAsoc[i].checked){
document.frmNoticiasAsoc.nmNoticiaAsoc.value = document.frmNoticiasAsoc.nmNoticiaAsoc.value + "," + document.frmNoticiasAsoc.nmNoticiaAsoc[i].value;
}
}
if (document.frmNoticiasAsoc.nmNoticiaAsoc.value != "-1"){
document.frmNoticiasAsoc.accionasoc.value = "E";
document.frmNoticiasAsoc.submit();
}else{
alert("Por favor seleccione al menos una noticia asociada para quitar.");
return false;
}
}


Este script verifica la siguiente tabla:


<table align="center" width="80%">
<tr>
<td width="20%"><b>C&Oacute;DIGO</b></td>
<td width="45%">><b>T&Iacute;TULO</b></td>
<td width="20%"><b>IMAGEN</b></td>
<td width="10%"><b>ORDEN</b></td>
<td width="5%"></td>
</tr>
<tr>
<td width="20%"><%=objRstAsoc("NMNOTICIA")%></td>
<td width="45%"><%=objRstAsoc("TITULO")%></td>
<td width="20%"><%=objRstAsoc("IMAGEN")%></td>
<td width="10%"><%=objRstAsoc("ORDEN")%></td>
<td width="5%"><input type="checkbox" name="nmNoticiaAsoc" value="<%=objRstAsoc("NMNOTICIA")%>"></td>
</tr>
</table>


El problema que tengo es que funciona perfectamente para dos registros o más, pero cuando tengo uno sólo no.


Agradezco cualquier ayuda que puedan brindarme.

Daniel Sánchez
Ing. de Sistemas

Carlitos
Moderator

Chile
881 Posts
Posted - 17 Mar 2005 :  16:39:36  Ver perfil  Enviar e-mail
function btnQuitar_onclick(){
document.frmNoticiasAsoc.nmNoticiaAsoc.value = "-1";
for (i = 0; i <= document.frmNoticiasAsoc.nmNoticiaAsoc.length - 1; i++) {
if (document.frmNoticiasAsoc.nmNoticiaAsoc[i].checked){
if(document.frmNoticiasAsoc.nmNoticiaAsoc.length!=1){
document.frmNoticiasAsoc.nmNoticiaAsoc.value = document.frmNoticiasAsoc.nmNoticiaAsoc.value + "," + document.frmNoticiasAsoc.nmNoticiaAsoc[i].value;
}
else{
document.frmNoticiasAsoc.nmNoticiaAsoc.value = document.frmNoticiasAsoc.nmNoticiaAsoc[i].value;

}

}
}
if (document.frmNoticiasAsoc.nmNoticiaAsoc.value != "-1"){
document.frmNoticiasAsoc.accionasoc.value = "E";
document.frmNoticiasAsoc.submit();
}else{
alert("Por favor seleccione al menos una noticia asociada para quitar.");
return false;
}
}


Carlitos ayuda a sus amigos!!Inicio Pagina

dasanchezr
Starting Member

Colombia
30 Posts
Posted - 17 Mar 2005 :  16:57:39  Ver perfil  Enviar e-mail
Hola, Carlitos !!!

El problema es que usando:

alert(document.frmNoticiasAsoc.nmNoticiaAsoc.length);

Si tengo dos o más registros me da el número correcto, pero si tengo uno sólo me dice "undefined".

Gracias por tu ayuda !!!


Daniel Sánchez
Ing. de SistemasInicio Pagina

dasanchezr
Starting Member

Colombia
30 Posts
Posted - 17 Mar 2005 :  19:40:33  Ver perfil  Enviar e-mail
Ya lo pude solucionar !!!

Un amigo me dijo que aquí no podemos hablar de vectores de una posición.

La función, ya trabajando, queda así:

function btnQuitar_onclick(){
if (document.frmNoticiasAsoc.nmNoticiaAsoc.length){
document.frmNoticiasAsoc.nmNoticiaAsoc.value = "-1";
for (i = 0; i <= document.frmNoticiasAsoc.nmNoticiaAsoc.length - 1; i++) {
if (document.frmNoticiasAsoc.nmNoticiaAsoc[i].checked){
document.frmNoticiasAsoc.nmNoticiaAsoc.value = document.frmNoticiasAsoc.nmNoticiaAsoc.value + "," + document.frmNoticiasAsoc.nmNoticiaAsoc[i].value;
}
}
}
if (document.frmNoticiasAsoc.nmNoticiaAsoc.value != "-1"){
document.frmNoticiasAsoc.accionasoc.value = "E";
document.frmNoticiasAsoc.submit();
}else{
alert("Por favor seleccione al menos una noticia asociada para quitar.");
return false;
}
}

Ojalá pueda servir a alguien más !!!

Daniel Sánchez
Ing. de SistemasInicio Pagina

Carlitos
Moderator

Chile
881 Posts
Posted - 17 Mar 2005 :  19:41:25  Ver perfil  Enviar e-mail
No entiendo bien lo que deseas con la función,
Yo habria utilizado un contador para saber la cantidad de check (contardo de registros),
y despues con la funcion javascript los recorreria todos(de 0 hasta tu contador-1) , dependiendo de que si esta o no marcado realizaría la acción de formar tu vector separados por ";"
Saludos,
atte. Carlitos

Carlitos ayuda a sus amigos!!Inicio Pagina

   
 Foro Bloqueado  Tema Bloqueado
Ir a:
Los Foros de ASPTutor.com Los Foros de ASPTutor.com
Ir al principio de la Página

 Imprimir Tema
 

Descargas de manuales¦ Ejemplos de código ¦ Artículos mas visitados ¦ Envía tu articulo ¦ Foros ¦
  Libro de visitas ¦Crea un enlace con ASPTutor 
 

    © 2001-Hasta hoy  Pedro Rufo Martín  contactar