SoloCodigo

Programación Web y Scripting => JavaScript => Mensaje iniciado por: jonathanperez en Martes 9 de Noviembre de 2010, 21:22

Título: AL SELECCIONAR DOS CHECKBOX REALIZAR UNA FUNCION
Publicado por: jonathanperez en Martes 9 de Noviembre de 2010, 21:22
epa gente como andan.........

bueno sin rodeos..

amigos tengo en total 7 checkbox en un formulario que son filtrados segun el nivel de usuario todo funciona bien

la combinacion de la selecion debe ser exacta alli tambien funciona bien el problema que tengo es que cuando yo seleccione dos Checkbox me ejecute una funcion de aparacer un campo de texto para ingresar una fecha es decir algo asi como un evento de Onclick llama a la funcion y me muestra el campo pero debe ser cuando seleccione solo dos checkbox en especifico recuerden solo los dos checkbox


algo asi:

<?php
 $long=strlen($_SESSION["cn"]);

$cn = $_SESSION["cn"];
for ($i = 0; $i <= $long; $i++){
 $abc[$i]=$cn[$i];


if (($abc[$i] == 2)){   

?>
<input type='checkbox' name='cn51' value='CN51' onClick="activar()">
CN51  
<?php
}

?>
</font></b>
 

<b>
<font size='2' face='times new roman'>
<?php
if (($abc[$i] == 3)){   
?>
<input type='checkbox'  name='cn56' value='CN56' onClick="activar2()"/>
CN56
<?php
}
?>
</font></b>

<b>
<font size='2' face='times new roman'>
<?php
if (($abc[$i] == 5)){   
?>
<input type='checkbox' name='cn62' value='CN62' />
CN62  
<?php
}
?>
</font></b>


<b><font size='2' face='times new roman'>
<?php
if (($abc[$i] == 6)){
?>
<input type='checkbox' name='cn63' value='CN63' onClick="activar()"/>
CN63   
<?php
}
?>
</font></b>
<b><font size='2' face='times new roman'>
<?php
if (($abc[$i] == 4)){   
?>
<input type='checkbox' name='cn61' value='CN61' />
CN61
<?php
}
?>
</font></b>

<b><font size='2' face='times new roman'>
<?php
if (($abc[$i] == 7)){   
?>
<input type='checkbox' name='cn64' value='CN64' onClick="activar()"/>
CN64
<?php
}
?>
</font></b>  
<b><font size='2' face='times new roman'>
<?php
if (($abc[$i] == 8)){   
?>
<input type='checkbox' name='cp75' value='CP75' onClick="activar()"/>
CP75  
<?php
}
?>
</font></b>

<b><font size='2' face='times new roman'>
<?php
if (($abc[$i] == 1)){   
?>
<input type='checkbox' name='cn48' value='CN48' onClick="activar()"/>
CN48
<?php
}
}
?>


de verdad me tiene verde este punto
Título: Re: AL SELECCIONAR DOS CHECKBOX REALIZAR UNA FUNCION
Publicado por: LeGatoRojo en Martes 9 de Noviembre de 2010, 21:37
Primero pone el campo de texto en un div o en una tabla, y usas el atributo style="display:none"

Despues a los checkboxes en la funcion onclick usas el atributo checked para ver sis los dos estan seleccionados y cambias el atributo de style.display a block

Código: Text
  1.  
  2.  
  3. <div id="campo1" style="display:none">
  4.    <input type="text" name="campo2"/>
  5. </div>
  6. <br>
  7. <input type="checkbox" id="campo3" value ="1" name="campo3" onclick="verCampo()">
  8. <br>
  9. <input type="checkbox" id="campo4" value ="1" name="campo4" onclick="verCampo()">
  10.  
  11.  
  12.  

Código: Text
  1.  
  2.  
  3.  
  4.    function verCampo()
  5.   {
  6.       if(document.getElementById("campo3").checked == true && document.getElementById("campo4").checked == true)
  7.             document.getElementById("campo1").style.display == "block";
  8.    }
  9.  
  10.  
  11.  

Algo asi,
Título: Re: AL SELECCIONAR DOS CHECKBOX REALIZAR UNA FUNCION
Publicado por: jonathanperez en Martes 9 de Noviembre de 2010, 21:40
exelente gracias por responder tan rapido pero es solo alseleccionar los dos es decir tildar un no hace nada al tildar los dos ejecuta la funcion
Título: Re: AL SELECCIONAR DOS CHECKBOX REALIZAR UNA FUNCION
Publicado por: LeGatoRojo en Martes 9 de Noviembre de 2010, 21:41
Eso hace, por eso tiene

Código: Text
  1.  
  2.  
  3. if(document.getElementById("campo3").checked == true && document.getElementById("campo4").checked == true
  4.  
  5.  

Valida que los dos esten en checked
Título: Re: AL SELECCIONAR DOS CHECKBOX REALIZAR UNA FUNCION
Publicado por: jonathanperez en Martes 9 de Noviembre de 2010, 21:49
ahhhh ok disculpa no lo vi dejame probar y te digo