Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/07/2011, 09:26
Avatar de eliza_ralves
eliza_ralves
 
Fecha de Ingreso: junio-2009
Ubicación: Caracas
Mensajes: 126
Antigüedad: 14 años, 10 meses
Puntos: 2
Exclamación Validación de Radio Buttons

Hola!! Espero estén tod@s bien! Mi problema es el siguiente: En mi sistema, dependiendo del rol que se tenga se pueden ver o no todos los campos de un formulario, ya logre hacer que si por ejemplo:

1. Si es administrador o director se muestren todos los radio-buttons que tengo, y dependiendo del que escoja, va a estar visible o no (segun la opción que escoja).

2.- Si es Gerente no se muestra el primer radio-button pero los demás si.

3.- Si es Líder sólo muestra el último radi-button (muestra el texto mas no el radio-button asociado porque no puede mas ninguna acción de radio-button)

El problema ocurre cuando quiero hacer idcampo.disabled= true / false dentro del javascript para cuando es Gerente, ya que si es administrador / director si me lo hace. Porque no me lo hace??

Código javascript:

function cambiaRadioGraf(){

var checkD = document.getElementById('tipoB1');
var checkR = document.getElementById('tipoB2');
var checkF = document.getElementById('tipoB3');

var SelectDis = document.getElementById('disciplina');
var SelectOfic = document.getElementById('region');
var fecha1 = document.getElementById('fechaCalend1');
var fecha1_Disp = document.getElementById('fecha_Calend1_Disp');
var fecha2 = document.getElementById('fechaCalend2');
var fecha2_Disp = document.getElementById('fecha_Calend2_Disp');


// Si el radio button Disciplina ha sido seleccionado
if(checkD.checked == true) {
alert('disciplina');
SelectDis.disabled = false;
SelectOfic.disabled = true;
fecha1.disabled = true;
fecha1_Disp.disabled = true;
fecha2.disabled = true;
fecha2_Disp.disabled = true;

}

// Si el radio button Oficina ha sido seleccionado
if(checkR.checked == true) {
alert('region');
SelectDis.disabled = true;
SelectOfic.disabled = false;
fecha1.disabled = true;
fecha1_Disp.disabled = true;
fecha2.disabled = true;
fecha2_Disp.disabled = true;
}

// Si el radio button Fecha ha sido seleccionado
if(checkF.checked == true) {
alert('fecha');
SelectDis.disabled = true;
SelectOfic.disabled = true;
fecha1.disabled = false;
fecha1_Disp.disabled = false;
fecha2.disabled = false;
fecha2_Disp.disabled = false;

}
}

Fragmento del Código PHP:

<?php
// Este campo sólo se muestra si el usuario es Administrador o Director
if($rol_Actual=='Director' || $rol_Actual=='Administrador'){

?>
<tr>
<td><input type="radio" class="radio-form" name="tipoB1" id="tipoB1" <?php if($opcion == 1 || $select == 'AD' ) echo 'checked="checked" ';?> onclick="cambiaRadioGraf()"/></td>
<th class="title_form">Por Disciplina:</th>
<td><select class="select_form" name="disciplina" id="disciplina">

<option value="Todas" selected="selected">Todas</option>

<?php
// Cargar disciplinas registradas en la lista desplegable correspondiente
for ($i = 1; $i <= count($disciplinas); $i++){

$nom_dis = $disciplinas[$i]["Nombre"];

?>
<option value="<?php echo $nom_dis; ?>"><?php echo $nom_dis; ?></option>
<?php

}
?>
</select>
</td>
</tr>
<?php
}
?>

<?php
// Este campo sólo se muestra si el usuario es Administrador, Director, Gerente o Líder
if($rol_Actual=='Director' || $rol_Actual=='Administrador' || $rol_Actual=='Gerente'){

?>

<tr>
<td><input type="radio" class="radio-form" name="tipoB1" id="tipoB2" <?php if($opcion == 2 || $select == 'G') echo 'checked="checked"';?> onclick="cambiaRadioGraf()" /></td>
<th class="title_form">Por Regi&oacute;n:</th>
<td><select class="select_form" name="region" id="region" >
<option value="Todas" selected="selected">Todas</option>
<?php
// Cargar oficinas registradas en la lista desplegable correspondiente
for ($i = 1; $i <= count($oficinas); $i++){

$cod_ofic = $oficinas[$i]["Codigo"];
$nom_ofic = $oficinas[$i]["Ubicacion"];

?>
<option value="<?php echo $cod_ofic; ?>"><?php echo $nom_ofic; ?></option>
<?php

}

?>
</select>
</td>
</tr>

<?php
}
?>
<tr>
<td><input <?php if($opcion == 3) echo 'type="hidden" class=""';?> type="radio" class="radio-form" name="tipoB1" id="tipoB3" onclick="cambiaRadioGraf()"/></td>
<th class="title_form">Por Fecha:</th>
</tr>
<tr>
<td>
<th class="title_form">Fecha Inicio:</th>
</td>
<td>
<input type="text" class="text_form" name="fechaCalend1" id="fechaCalend1" size="18" readonly="readonly" />
<input type="button" class="botonCalend" id="fecha_Calend1_Disp" />
</td>
</tr>
<tr>
<td>
<th class="title_form">Fecha Final:</th>
</td>
<td>
<input type="text" class="text_form" name="fechaCalend2" id="fechaCalend2" size="18" readonly="readonly" />
<input type="button" class="botonCalend" id="fecha_Calend2_Disp" />
</td>
</tr>

Espero me puedan echar una ayudita.... GRACIAS! =)
__________________
“El mayor enemigo del conocimiento no es la ignorancia, sino la ilusión del conocimiento”— Stephen Hawking

Última edición por eliza_ralves; 01/07/2011 a las 09:34