Foros del Web » Programando para Internet » Javascript »

Radio que debe estar marcado

Estas en el tema de Radio que debe estar marcado en el foro de Javascript en Foros del Web. hola quiero saber como puedo mandar un mensaje si el radio no esta marcado, la pregunta es que el codigo es algo extraño para mi, ...
  #1 (permalink)  
Antiguo 22/03/2005, 11:24
 
Fecha de Ingreso: febrero-2005
Ubicación: chile, Santiasko
Mensajes: 728
Antigüedad: 19 años, 3 meses
Puntos: 1
Radio que debe estar marcado

hola quiero saber como puedo mandar un mensaje si el radio no esta marcado, la pregunta es que el codigo es algo extraño para mi, se trata de un formulario que la informacion la saca de la base de datos...cosa que me enredo...

aqui les dejo el codigo, esta hecho en php, pero quiero que aparesca un popup disiendo que debe llenar todo los datos...algo asi, super simple pero no me manejo mucho en esto....

Código PHP:
<?
function Test16PF($offset=0){
 
$nfilas=25;
 if((
$offset>0)&&($offset<200)){
  
$numpag=$offset/$nfilas+1;
 } else {
  
$offset=0;
  
$numpag=1;
 }
  
$preguntas='';
 
$db=conexion();
 
$sql="SELECT test_16pf_5.numpregunta, test_16pf_5.pregunta, test_16pf_5.Resp_A, test_16pf_5.Resp_B, test_16pf_5.Resp_C FROM test_16pf_5";
 
$rs=$db->SelectLimit($sql,$nfilas,$offset);
 if(
$rs){
 
$control=$offset;
 while(!
$rs->EOF){
  
$codinstrucc=0;
 if(
$control==0){
  
$codinstrucc=1;
 } 
 if(
$control==170){
  
$codinstrucc=2;
 }
 
$control++;
 if(
$codinstrucc>0){
  
$sql2="SELECT instrucciones FROM inst_test_16pf_5 WHERE codinstrucc='".$codinstrucc."'";
  
$rs2=$db->Execute($sql2);
  if(
$rs2){
   if(
$rs2->RecordCount()>0){
    
$preguntas.=$rs2->fields("instrucciones");
   }
  }
 }

  
$numero=$rs->fields("numpregunta");
  
$pregunta=$rs->fields("pregunta");
  
$resp1=$rs->fields("Resp_A");
  
$resp2=$rs->fields("Resp_B");
  
$resp3=$rs->fields("Resp_C");
  
$preguntas.='<tr class="tbh_azul" valign="top"> 
    <td width="25" align="right">'
.$numero.'.&nbsp;</td>
    <td>'
.$pregunta.'</td>
  </tr>
  <tr> 
    <td width="25"><input type="radio" name="r'
.$numero.'" value="1"></td>
    <td>'
.$resp1.'</td>
  </tr>
  <tr> 
    <td width="25"><input type="radio" name="r'
.$numero.'" value="2"></td>
    <td>'
.$resp2.'</td>
  </tr>
  <tr> 
    <td width="25"><input type="radio" name="r'
.$numero.'" value="3"></td>
    <td>'
.$resp3.'</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>'
;
  
$rs->MoveNext();
 }
  
$offset=$offset+$nfilas;
 
$html='<form action="testpers.php" method="post" name="frm_test" id="frm_test">
  <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td align="center">P&aacute;gina '
.$numpag.'<input name="offset" type="hidden" value="'.$offset.'"></td>
    </tr>
    <tr>
      <td><table width="80%" border =0 cellpadding="0" cellspacing="0">
'
.$preguntas.'
      </table></td>
    </tr>
    <tr>
      <td align="center">
        <input name="bt_sig" type="submit" id="bt_sig" value="Siguiente &raquo;" class="boton">
        <input type="hidden" name="totalpreg" value="'
.$numero.'">
      </td>
    </tr>
  </table>
</form>'
;
 return 
$html;
}
}
?>
__________________
Una Vez Muerto el Perro.............Se acaba la Rabia :risa:
  #2 (permalink)  
Antiguo 22/03/2005, 11:29
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Veo que no usas ningún bucle... Mira un radio una ves seleccionado no se podrá "deseleccionar"... así que una simple colución seria que mandases a seleccionar a uno por Default... solo agrega "checked" a el que gustes .

Digo!!!... sería una solución... si no te late dimelo. Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 22/03/2005, 12:38
 
Fecha de Ingreso: febrero-2005
Ubicación: chile, Santiasko
Mensajes: 728
Antigüedad: 19 años, 3 meses
Puntos: 1
como........si le hago checked tan solo lo deshabilitaria nada mas que eso...

lo que yo pretendo es que con este codigo quiero que cuando se llegue al final que existe un avanzar si no estan todos lo radios presionados, salga un mensaje en popup disiendo que debe tener marcados los radios, por lo menos uno de ellos que son 185 preguntas y por pagina que son 8 paginas de 20 y tanto...

pero nose donde el javascript debe ir, el codigo tiene un archivo que es xxx.js supongo que hay debo programar el javascript y esta llamado por una funcion

en fin como lo hago
__________________
Una Vez Muerto el Perro.............Se acaba la Rabia :risa:
  #4 (permalink)  
Antiguo 22/03/2005, 23:44
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Cita:
Iniciado por yokoshima
(...) si le hago checked tan solo lo deshabilitaria nada mas que eso (...)
... Estamos hablando de "radios"?? ... Esos circulitos?? ... Si es así... dichos circulitos NO se pueden desmarcar... así como tampoco habrá dos seleccionados de un mismo grupo. Estos se ocupan para seleccionar UNA opción entre varias... Es la diferencia a los "ckeckbox" que esos sí pueden estar o no marcados...

Aclarame si te entendí mal.. pero tu código dicen que son radios... Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 23/03/2005, 04:25
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Aunque me dio razón... txarly ha colocado una función que te serviria:
http://www.forosdelweb.com/f13/validar-form-con-radiobutton-282210/

Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #6 (permalink)  
Antiguo 23/03/2005, 05:12
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Aquí:
Código PHP:
$html=<form action="testpers.php" method="post" name="frm_test" id="frm_test"
cambialo así:
Código PHP:
$html=<form action="testpers.php" method="post" name="frm_test" id="frm_test" onsubmit="return comprobar(this)"
y añade esto en el head:
Código PHP:
<script type="text/javascript" charset="ISO-8859-1" language="JavaScript">
function 
comprobar(esto){
    
grupos=0;
    
marcados=0;
    for(
a=0;a<esto.elements.length;a++){
        if(
esto[a].type=="radio"){
            if(
esto[a].name!=esto[a-1].name){
                
grupos+=1
                
}
            if(
esto[a].checked){
                    
marcados+=1
                
}
        }
    }
    if(
marcados!=grupos){
        
alert("Has contestado "+marcados+" preguntas de un total de "+grupos+"\n\nPor favor, conteste a todas las preguntas!");
        return 
false
    
}
}
</script> 
Espero que te sirva!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.

Última edición por KarlanKas; 23/03/2005 a las 05:13
  #7 (permalink)  
Antiguo 23/03/2005, 07:09
 
Fecha de Ingreso: febrero-2005
Ubicación: chile, Santiasko
Mensajes: 728
Antigüedad: 19 años, 3 meses
Puntos: 1
ohhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh





gracias, ahora puedo estar tranquilo..... gracias nuevamente a ti karlankas....


oh ya es 3º vez que me ayudas, muchas gracias....


salu2
__________________
Una Vez Muerto el Perro.............Se acaba la Rabia :risa:
  #8 (permalink)  
Antiguo 23/03/2005, 10:35
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
De nada, yokoshima!

Hoy por tí y mañana por mí...

Un saludo y me alegro de que te haya funcionado!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
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 06:47.