Foros del Web » Programando para Internet » Javascript »

Problema con campo tipo checkbox

Estas en el tema de Problema con campo tipo checkbox en el foro de Javascript en Foros del Web. Saludos. Tengo un problemilla y no doy con la solucion. Resulta que tengo un campo tipo checkbox, el cual, según los valores seleccionados, me compone ...
  #1 (permalink)  
Antiguo 27/10/2009, 04:55
 
Fecha de Ingreso: agosto-2003
Mensajes: 324
Antigüedad: 20 años, 8 meses
Puntos: 1
Problema con campo tipo checkbox

Saludos.
Tengo un problemilla y no doy con la solucion.
Resulta que tengo un campo tipo checkbox, el cual, según los valores seleccionados, me compone una url que lanzará un proceso.
Bien.. si selecciono uno o más valores, cuando hay varios.. funciona bien; pero cuando el campo tiene sólo un valor, aunque lo seleccione, no me reconoce como marcado ninguno, y por tanto, no captura ningún valor...

Os dejo el código javascript que ejecuto, para ver si alguien puede yudarme...


Código:
ids='';
marca = "";
campo = parent.mFlotanteInf.document._fPreguntasAEliminarPtEncuesta.Campo;
encuestaID = parent.mFlotanteInf.document._fPreguntasAEliminarPtEncuesta.IDEncuesta.value;

//    ---- OpenAgent&EncuestaID=FD198F47760E1270C125765800421CD3&PreguntasId=

for (i=0;i<campo.length;++i)
	{
  	if (campo[i].checked)
	    {
			marca = "1";	  
  			//alert(campo[i].value);
    			ids=ids+ campo[i].value+ '@';
 		 }
	}

url = f.URLAgenteEliminar.value + encuestaID + '&PreguntasId=' + ids;

if (marca == "1")
{
window.top.location = url;
window.top.close();
} else {
alert ('No ha seleccionado ninguna opción.');
}
Gracias
  #2 (permalink)  
Antiguo 27/10/2009, 06:05
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Problema con campo tipo checkbox

Hola

Prueba a adaptar esto a lo que te ocupa

Código javascript:
Ver original
  1. <html>
  2. <head>
  3. <script type="text/javascript">
  4. function valores(f, cual) {
  5.  todos = new Array();
  6.  for (var i = 0, total = f[cual].length; i < total; i++)
  7.    if (f[cual][i].checked) todos[todos.length] = f[cual][i].value;
  8.   return todos.join(".");
  9. }
  10. </script>
  11. </head>
  12. <body >
  13. <form>
  14. <input name="t[]" type="checkbox" value="0000" />
  15. <input name="t[]" type="checkbox" value="1111" />
  16. <input name="t[]" type="checkbox" value="2222" />
  17. <input name="t[]" type="checkbox" value="3333" />
  18. <input name="t[]" type="checkbox" value="4444" />
  19. <input name="t[]" type="checkbox" value="5555" />
  20. <button onclick="alert(valores(this.form, 't[]'))" >mostrar</button>
  21. </form>
  22. </body>
  23. </html>

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 27/10/2009, 06:18
 
Fecha de Ingreso: agosto-2003
Mensajes: 324
Antigüedad: 20 años, 8 meses
Puntos: 1
Respuesta: Problema con campo tipo checkbox

gracias.. lo probare
  #4 (permalink)  
Antiguo 27/10/2009, 10:13
 
Fecha de Ingreso: agosto-2003
Mensajes: 324
Antigüedad: 20 años, 8 meses
Puntos: 1
Respuesta: Problema con campo tipo checkbox

He probado lo propuesto y .. sigo igual.
Si tengo varias opciones... seleccione 1 o más.. funciona.
El problema es cuando hay sólo 1 opción a seleccionar.. es como si no existiera ...

Dejo un resumen del código del formulario que contiene el campo checkbox:
Código HTML:
<form method="post" action="/Clientes/AytoMarbella/Turismo/PTM_Censos.nsf/fPreguntasAEliminarPtEncuesta?OpenForm&amp;Seq=1&amp;AutoFramed&amp;EncuestaID=SRVB-7X4G4X&amp;IDEncuesta=FD198F47760E1270C125765800421CD3" name="_fPreguntasAEliminarPtEncuesta">

<TABLE  WIDTH="100%" BORDER=0 CLASS="TablaVistaOFF" onmouseover="this.className='TablaVistaON'" onmouseout="this.className='TablaVistaOFF'">
<TR>
<TD WIDTH="5"><INPUT TYPE="checkBox" id="Campo" value="E2AC8A2AB349C3F9C125765C005886E5" name="Campo"></TD>
<TD WIDTH="200" CLASS="TablaVistaEnlaceNombreTerceros">Pregunta1</TD>
<TD WIDTH="100" CLASS="TablaVistaEnlaceNombreTerceros">Ciudadanos</TD>
<TD CLASS="TablaVistaEnlaceNombreTerceros">¿Por qué la pregunta 1?</TD></TR></TABLE>

<TABLE  WIDTH="100%" BORDER=0 CLASS="TablaVistaOFF" onmouseover="this.className='TablaVistaON'" onmouseout="this.className='TablaVistaOFF'">
<TR>
<TD WIDTH="5"><INPUT TYPE="checkBox" id="Campo" value="B396A5DFDE15792BC125765C005886E7" name="Campo"></TD>
<TD WIDTH="200" CLASS="TablaVistaEnlaceNombreTerceros">Pregunta2</TD>
<TD WIDTH="100" CLASS="TablaVistaEnlaceNombreTerceros">Ciudadanos</TD>
<TD CLASS="TablaVistaEnlaceNombreTerceros">¿Por qué la pregunta 2?</TD></TR></TABLE>

<TABLE  WIDTH="100%" BORDER=0 CLASS="TablaVistaOFF" onmouseover="this.className='TablaVistaON'" onmouseout="this.className='TablaVistaOFF'">
<TR>
<TD WIDTH="5"><INPUT TYPE="checkBox" id="Campo" value="713D2C6AE5DCD981C125765C005886E8" name="Campo"></TD>
<TD WIDTH="200" CLASS="TablaVistaEnlaceNombreTerceros">Pregunta3</TD>
<TD WIDTH="100" CLASS="TablaVistaEnlaceNombreTerceros">Ciudadanos</TD>
<TD CLASS="TablaVistaEnlaceNombreTerceros">¿Por qué la pregunta 3?</TD></TR></TABLE>

</form> 
Y éste es un resumken de si tengo sólo una opción a seleccionar.. no veo error....

Código HTML:
<form method="post" action="/Clientes/AytoMarbella/Turismo/PTM_Censos.nsf/fPreguntasAEliminarPtEncuesta?OpenForm&amp;Seq=1&amp;AutoFramed&amp;EncuestaID=SRVB-7X4G4X&amp;IDEncuesta=FD198F47760E1270C125765800421CD3" name="_fPreguntasAEliminarPtEncuesta">

<TABLE  WIDTH="100%" BORDER=0 CLASS="TablaVistaOFF" onmouseover="this.className='TablaVistaON'" onmouseout="this.className='TablaVistaOFF'"><TR>
<TD WIDTH="5"><INPUT TYPE="checkBox" id="Campo" value="C229E4F45BAAA262C125765C00446843" name="Campo"></TD>
<TD WIDTH="200" CLASS="TablaVistaEnlaceNombreTerceros">Pregunta3</TD>
<TD WIDTH="100" CLASS="TablaVistaEnlaceNombreTerceros">Ciudadanos</TD>
<TD CLASS="TablaVistaEnlaceNombreTerceros">¿Por qué la pregunta 3?</TD></TR></TABLE>

</form> 
Y a ese formulario accedo desde otro (en un marco superior dentro del mismo conjunto de marcos), que hace uso del código que puse en el primer mensaje....

Gracias por anticipado ...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:34.