Problemas con el radiobutton al escribir en lenguaje PHP

Lo que yo queria decir que al elegir la opcion del radiobutton donde pone si se habita el textarea que hay y lo que quiero hacer que que cuando haga click hay en el boton si m obligue a escribir hay dentro y no m deje enviar la informacion hasta que no haya escrito algo dentro del textarea pero cuando pulse elija la opcion no del radiobutton m deshabilite el textarea
aqui te pongo el formulario y el codigo php
<script language="javascript" type="text/javascript" src="function/js/comprobarsi.js"></script>
<script language="javascript" type="text/javascript">
function habilita(){
    document.formu.o.disabled=false;
}
   function deshabilita(){
   document.formu.o.disabled=true;
    document.formu.o.value="";
   }
</script>
</head>
<body>
<div>
    <center>
    <form name="formu" action="envia_dise_web.php" method="post">
<table width="100%">
<tr>
<td align="right">Número de secciones y subsecciones
               </td>
<td align="left">
                    <select name="numero" id="numero">
                         <option value="1">1</option>
                         <option value="2">2</option>
                          <option value="3">3</option>
                    </select>
                 </td>
</tr>
<tr>
<td align="right">Fóro</td>
<td align="left">
            <input type="radio" value="si" name="foro" checked="checked"/> si
             <input type="radio" value="no" name="foro"/> no
        </td>
</tr>
<tr>
<td align="right"> Comercio electrónico</td>
<td align="left">
              <input type="radio" value="si" name="comercio" checked="checked"/> si
            <input type="radio" value="no" name="comercio"/>  no
           </td>
</tr>
<tr>
<td align="right">Gestor de noticias </td>
<td align="left">
               <input  type="radio" value="si" name="gestor" checked="checked"/>si
             <input type="radio" value="no" name="gestor"/> no
        </td>
</tr>
<tr>
<td align="right"> Gestor Ftp</td>
<td align="left">   
           <input type="radio" value="si" name="ftp"checked="checked"/>si
         <input type="radio" value="no" name="ftp"/> no
        </td>
</tr>
<tr>
<td align="right">Libro de visitas</td>
<td align="left">
             <input  type="radio" value="si" name="libro" checked="checked"/>si
            <input type="radio" value="no" name="libro"/> no
        </td>
</tr>
<tr>
<td align="right">Pasarelas de pagos</td>
<td align="left">
                     <input  type="radio" value="si" name="pasarelas" checked="checked"/>si
                    <input type="radio" value="no" name="pasarelas"/>  no
                 </td>
</tr>
<tr>
<td align="right">Galerias de fotos </td>
<td align="left">
                       <input  type="radio" value="si" name="galeria" checked="checked"> si
                       <input type="radio" value="no" name="galeria"/> no
              </td>
</tr>
<tr>
<td align="right">Panel de administración </td>
<td align="left">
                 <input type="radio" value="si" name="panel" checked="checked"/> si
                   <input type="radio" value="no" name="panel"/> no
            </td>
</tr>
<tr>
<td align="right">  Otros </td>
<td align="left">
                <input type="radio" value="si" id="otros" name="otros"  onfocus="habilita()"/> si
                   <input type="radio" value="no" id="otros" name="otros" checked="checked"   onfocus="deshabilita()"/> no
                ...

1 respuesta

Respuesta
1
Pues debes agregar una validacion al evento submit del formualrio asi: Espero te sirva.
<script language="javascript" type="text/javascript" src="function/js/comprobarsi.js"></script>
<script language="javascript" type="text/javascript">
    function habilita(){
        document.formu.o.disabled=false;
    }
    function deshabilita(){
    document.formu.o.disabled=true;
    document.formu.o.value="";
    }
   function validForm(){
        if((document.getElementById('otrossi').checked)){
            if( isNull(document.getElementById('o').value)){
                alert('Validacion del formulario')
                return false;
            }else{
                return true
            }
        }
   }
   function isNull(value){
        if( value == null || value.length == 0 || /^\s+$/.test(value) ){
            return true;
        }
        else{
            return false;
        }
   }
</script>
</head>
<body>
<div>
    <center>
    <form name="formu" action="envia_dise_web.php" method="post" onsubmit="return validForm()">
<table width="100%">
<tr>
<td align="right">Número de secciones y subsecciones
               </td>
<td align="left">
                    <select name="numero" id="numero">
                         <option value="1">1</option>
                         <option value="2">2</option>
                          <option value="3">3</option>
                    </select>
                 </td>
</tr>
<tr>
<td align="right">Fóro</td>
<td align="left">
            <input type="radio" value="si" name="foro" checked="checked"/> si
             <input type="radio" value="no" name="foro"/> no
        </td>
</tr>
<tr>
<td align="right"> Comercio electrónico</td>
<td align="left">
              <input type="radio" value="si" name="comercio" checked="checked"/> si
            <input type="radio" value="no" name="comercio"/>  no
           </td>
</tr>
<tr>
<td align="right">Gestor de noticias </td>
<td align="left">
               <input  type="radio" value="si" name="gestor" checked="checked"/>si
             <input type="radio" value="no" name="gestor"/> no
        </td>
</tr>
<tr>
<td align="right"> Gestor Ftp</td>
<td align="left">   
           <input type="radio" value="si" name="ftp"checked="checked"/>si
         <input type="radio" value="no" name="ftp"/> no
        </td>
</tr>
<tr>
<td align="right">Libro de visitas</td>
<td align="left">
             <input  type="radio" value="si" name="libro" checked="checked"/>si
            <input type="radio" value="no" name="libro"/> no
        </td>
</tr>
<tr>
<td align="right">Pasarelas de pagos</td>
<td align="left">
                     <input  type="radio" value="si" name="pasarelas" checked="checked"/>si
                    <input type="radio" value="no" name="pasarelas"/>  no
                 </td>
</tr>
<tr>
<td align="right">Galerias de fotos </td>
<td align="left">
                       <input  type="radio" value="si" name="galeria" checked="checked"> si
                       <input type="radio" value="no" name="galeria"/> no
              </td>
</tr>
<tr>
<td align="right">Panel de administración </td>
<td align="left">
                 <input type="radio" value="si" name="panel" checked="checked"/> si
                   <input type="radio" value="no" name="panel"/> no
            </td>
</tr>
<tr>
<td align="right">  Otros </td>
<td align="left">
                <input type="radio" value="si" id="otrossi" name="otros"  onfocus="habilita()"/> si
                   <input type="radio" value="no" id="otros" name="otros" checked="checked"   onfocus="deshabilita()"/> no
                     <textarea name="o" id="o"  disabled="disabled"></textarea>
                   </td>
</tr>
<tr>
<td colspan="2"><center><input type="submit" id="enviar" value="Contacte con Nosotros" /></center></td>
</tr>
</table>
</form>
<div><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>
<body>
<?php
    //recojo la información de la anterior pagina
    $numero = $_REQUEST["numero"];
    $foro = $_REQUEST["foro"];
    $comercio= $_REQUEST["comercio"];
    $gestor= $_REQUEST["gestor"];
    $ftp= $_REQUEST["ftp"];
    $libro= $_REQUEST["libro"];
    $pasarelas= $_REQUEST["pasarelas"];
    $galeria= $_REQUEST["galeria"];
    $panel= $_REQUEST["panel"];
    $otros= $_REQUEST["otros"];
    echo $otros;
    $o= $_REQUEST["o"];
{
  for(i = 0;i < ;i++)
  {
    if($otros=="si"){
        echo $o;
        if($o==""){
            echo ("<center>Otros no puede permanecer vacio<br>");
            }
            if (!i=0){
            echo("<input type='button' id='volver' value='Volver '></center>");
            die;
            }
    }
    //nombre completo del dominio
                        $cuerpo .="numero: ".$numero."\n";
                        $cuerpo .= "foro: ".$foro."\n";
                        $cuerpo .= "comercio: ".$comercio."\n";
                        $cuerpo .= "gestor: ".$gestor."\n";
                        $cuerpo .= "ftp: ".$ftp."\n";
                        $cuerpo .= "libro: ".$libro."\n";
                        $cuerpo .= "pasarelas: ".$pasarelas."\n";
                        $cuerpo .= "galeria: ".$galeria."\n";
                        $cuerpo .= "panel:".$panel."\n";
                        $cuerpo .= "otros:".$otros."\n";
                        $cuerpo .= "o:".$o."\n";
                        $asunto="Bien";
                        $enviado=mail("[email protected]",$asunto,$cuerpo,"From: ".$mail);
        if($enviado==true)
        {
            echo ("Su consulta se ha enviado con éxito");
        }
        else
        {
            echo (" Su consulta no se ha podido enviar , vuelva a intentarlo más tarde.");
        }
        ?>
</body>
</html>
espero que m puedas ayudar gracias de antemano
<form action="envia_dise_web.php" method="post">
<table style="height: 1027px;" border="0" width="365">
<tbody>
<tr>
<td align="right">Número de secciones y subsecciones
               </td>
<td align="left">
                    <select id="numero" name="numero"><option value="1">1</option><option value="2">2</option><option value="3">3</option></select>
                 </td>
</tr>
<tr>
<td align="right">Fóro</td>
<td align="left">
            <input checked="checked" name="foro" type="radio" value="si" /> si
             <input name="foro" type="radio" value="no" /> no
        </td>
</tr>
<tr>
<td align="right"> Comercio electrónico</td>
<td align="left">
              <input checked="checked" name="comercio" type="radio" value="si" /> si
            <input name="comercio" type="radio" value="no" />  no
           </td>
</tr>
<tr>
<td align="right">Gestor de noticias </td>
<td align="left">
               si
             <input name="gestor" type="radio" value="no" /> no
        </td>
</tr>
<tr>
<td align="right"> Gestor Ftp</td>
<td align="left">   
           <input checked="checked" name="ftp" type="radio" value="si" />si
         <input name="ftp" type="radio" value="no" /> no
        </td>
</tr>
<tr>
<td align="right">Libro de visitas</td>
<td align="left">
             si
            <input name="libro" type="radio" value="no" /> no
        </td>
</tr>
<tr>
<td align="right">Pasarelas de pagos</td>
<td align="left">
                     si
                    <input name="pasarelas" type="radio" value="no" />  no
                 </td>
</tr>
<tr>
<td align="right">Galerias de fotos </td>
<td align="left">
                        si
                       <input name="galeria" type="radio" value="no" /> no
              </td>
</tr>
<tr>
<td align="right">Panel de administración </td>
<td align="left">
                 <input checked="checked" name="panel" type="radio" value="si" /> si
                   <input name="panel" type="radio" value="no" /> no
            </td>
</tr>
<tr>
<td align="right">  Otros </td>
<td align="left">
                   <input id="otros" name="otros" type="radio" value="si" /> si
                   <input id="otros" checked="checked" name="otros" type="radio" value="no" /> no
                     <textarea id="o" disabled="disabled" name="o">prueba</textarea>
                   </td>
</tr>
<tr>
<td colspan="2"><input id="enviar" type="submit" value="Contacte con Nosotros" /></td>
</tr>
</tbody>
</table>
</form>
aki el documento javascript para validarlo
// JavaScript Document
//Función para las comprobaciones de los contactos
function comprobarsi(otros,o)
{alert(otros);
if(otros=="si"){
        if(o==""){
        alert("otros  no puede permanecer vacío.");
        return false;
    }
    }
    return true;
}
y documento php para enviar los datos
Documento sin título
    //recojo la información de la anterior pagina
    $numero = $_REQUEST["numero"];
    $foro = $_REQUEST["foro"];
    $comercio= $_REQUEST["comercio"];
    $gestor= $_REQUEST["gestor"];
    $ftp= $_REQUEST["ftp"];
    $libro= $_REQUEST["libro"];
    $pasarelas= $_REQUEST["pasarelas"];
    $galeria= $_REQUEST["galeria"];
    $panel= $_REQUEST["panel"];
    $otros= $_REQUEST["otros"];
    echo $otros;
    $o= $_REQUEST["o"];
{
  for(i = 0;i < ;i++)
  {
    if($otros=="si"){
        echo $o;
        if($o==""){
            echo ("Otros no puede permanecer vacio
");
            }
            if (!i=0){
            echo("<input id="volver" type="button" value="Volver " />");
            die;
            }
    }
    //nombre completo del dominio
                        $cuerpo .="numero: ".$numero."\n";
                        $cuerpo .= "foro: ".$foro."\n";
                        $cuerpo .= "comercio: ".$comercio."\n";
                        $cuerpo .= "gestor: ".$gestor."\n";
                        $cuerpo .= "ftp: ".$ftp."\n";
                        $cuerpo .= "libro: ".$libro."\n";
                        $cuerpo .= "pasarelas: ".$pasarelas."\n";
                        $cuerpo .= "galeria: ".$galeria."\n";
                        $cuerpo .= "panel:".$panel."\n";
                        $cuerpo .= "otros:".$otros."\n";
                        $cuerpo .= "o:".$o."\n";
                        $asunto="Bien";
                        $enviado=mail("[email protected]",$asunto,$cuerpo,"From: ".$mail);
        if($enviado==true)
        {
            echo ("Su consulta se ha enviado con éxito");
        }
        else
        {
            echo (" Su consulta no se ha podido enviar , vuelva a intentarlo más tarde.");
        }
        ?>
</div>
hola me ha servidor muchas gracias pero ahora tengo otro problema persona si t canso con tantas pregunta que no m envia la informacion y no se por que es es k tengo un fallo en el documento enviar y no se por que es aqui t lo pongo para ver donde puede estar
es en php aki esta todo el codigo
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>
<body>
<?php
    //recojo la información de la anterior pagina
    $numero = $_REQUEST["numero"];
    $foro = $_REQUEST["foro"];
    $comercio= $_REQUEST["comercio"];
    $gestor= $_REQUEST["gestor"];
    $ftp= $_REQUEST["ftp"];
    $libro= $_REQUEST["libro"];
    $pasarelas= $_REQUEST["pasarelas"];
    $galeria= $_REQUEST["galeria"];
    $panel= $_REQUEST["panel"];
    $otros= $_REQUEST["otros"];
       echo $otros;
    $o= $_REQUEST["o"];
$var1=0;
             if($otros=="si"){
        echo $o;
        if($o=="")
            echo ("Otros no puede permanecer vacio<br>");
            $var1 =1  
            }
if($var1==1){
    echo("<input type='button' id='volver' value='Volver '>");
}
    //nombre completo del dominio
                        $cuerpo .="numero: ".$numero."\n";
                        $cuerpo .= "foro: ".$foro."\n";
                        $cuerpo .= "comercio: ".$comercio."\n";
                        $cuerpo .= "gestor: ".$gestor."\n";
                        $cuerpo .= "ftp: ".$ftp."\n";
                        $cuerpo .= "libro: ".$libro."\n";
                        $cuerpo .= "pasarelas: ".$pasarelas."\n";
                        $cuerpo .= "galeria: ".$galeria."\n";
                        $cuerpo .= "panel:".$panel."\n";
                        $cuerpo .= "otros:".$otros."\n";
                         $cuerpo .= "o:".$o."\n";
                        $asunto="Bien";
                        $enviado=mail("[email protected]",$asunto,$cuerpo,"From: ".$mail);
        if($enviado==true)
        {
            echo ("Su consulta se ha enviado con éxito");
        }
        else
        {
            echo (" Su consulta no se ha podido enviar , vuelva a intentarlo más tarde.");
        }
        ?>
</body>
</html>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas