Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/05/2008, 03:01
Souf
 
Fecha de Ingreso: febrero-2005
Ubicación: Valencia
Mensajes: 101
Antigüedad: 19 años, 9 meses
Puntos: 15
Re: Ayuda con un formulario tipo radio

Bueno, yo no te puedo ayudar, pero sí que puedo poner un problema que tengo yo con formulario y radio..., que seleccione la opción que seleccione, si lo envío como javascript, el valor del radio me sale undefined.
En cambio, si lo envío con el post de php, sí que tiene valor...
El html es una plantilla, en la cual, dependiendo de si tiene o no javascript, el php modifica las variables para que se use java o no...
Código HTML:
 <table align="center" id="inicio-sesion" valign="top" cellspacing="5" cellpadding="5">
	<form{NOMFORM} action="{ARCHIVO}" method="post">
	  <tr>
	    <td colspan="2">
	      Introduzca los datos para que se le envíe un correo electrónico con los datos deseados.
	    </td>
	  </tr>
	  <tr>
	    <td>
	      Usuario:<input value="{USER}" type="text" name="user" maxlength="10">
	    </td>
	    <td>
	      Correo electrónico:<input value="{MAIL}" type="text" name="mail" maxlength="30">
	    </td>
	  </tr>
	  <tr>
	    <td colspan="2">
	      <input type="radio" name="opcion" value="contra">Enviar nueva contraseña.
              <br>  
	      <input type="radio" name="opcion" value="clave">Enviar clave de activación.
	    </td>
	  </tr>
	  <tr>
	    <td colspan="2">
	      {OCULTO}
	      <input type="{TIPO}" name="accion" value="Enviar"{ENVIAJAVA}>
	    </td>
	  </tr>
	</form>
      </table> 
Código:
function valida_activa(){
  if (document.act_pass.user.value.length==0){
    alert("Por favor, introduce tu nombre de usuario.");
    document.act_pass.user.focus();
    return 0; 
  }
  if (document.act_pass.mail.value.length==0){
    alert("Por favor, introduce tu correo electrónico.");
    document.act_pass.mail.focus();
    return 0; 
  }
  if (!CorreoValido(document.act_pass.mail.value)){
    alert("La dirección de correo electrónico no es válida.");
    document.act_pass.mail.focus();
    return 0;
  }
  alert(document.act_pass.opcion.value);
  if (document.act_pass.opcion.value!="contra" && document.act_pass.opcion.value!="clave"){
     alert("Tienes que seleccionar una opción (Enviar nueva contraseña o enviar nueva clave de activación).");
     return 0;
   } 
   //el formulario se envia
   document.act_pass.submit();  
}

EDITO:
YA LO TENGO
Código:
function valida_activa(){
  if (document.act_pass.user.value.length==0){
    alert("Por favor, introduce tu nombre de usuario.");
    document.act_pass.user.focus();
    return 0; 
  }
  if (document.act_pass.mail.value.length==0){
    alert("Por favor, introduce tu correo electrónico.");
    document.act_pass.mail.focus();
    return 0; 
  }
  if (!CorreoValido(document.act_pass.mail.value)){
    alert("La dirección de correo electrónico no es válida.");
    document.act_pass.mail.focus();
    return 0;
  }
  
  if (!document.act_pass.opcion[0].checked && !document.act_pass.opcion[1].checked){
    alert("Tienes que seleccionar una opción (Enviar nueva contraseña o enviar nueva clave de activación).");
    return 0;
  }
  else{
    if (document.act_pass.opcion[1].checked)
      document.act_pass.opcion.value=document.act_pass.opcion[1].value;
    else
      document.act_pass.opcion.value=document.act_pass.opcion[0].value;
  }
  //el formulario se envia
  document.act_pass.submit();  
}

Última edición por Souf; 10/05/2008 a las 03:27