Foros del Web » Programando para Internet » Javascript »

Formulario de inscripcion

Estas en el tema de Formulario de inscripcion en el foro de Javascript en Foros del Web. Hola, resulta que necesito hacer un formulario de inscripcion que se conecte a una BD. Quería pedirles si tienen un codigo de formulario que sea ...
  #1 (permalink)  
Antiguo 29/04/2011, 20:07
 
Fecha de Ingreso: abril-2011
Ubicación: ur
Mensajes: 21
Antigüedad: 13 años
Puntos: 0
Pregunta Formulario de inscripcion

Hola, resulta que necesito hacer un formulario de inscripcion que se conecte a una BD.
Quería pedirles si tienen un codigo de formulario que sea completo y que funcione.
Ademas necesito saber si con php puedo bloquear radio buttons? porque en el formulario voy a tener 2 radio que digan Masculino y Femenino. Luego mas abajo van a haber 4 radio buttons y necesito que al presionar el radio de Masculino se bloqueen dos de los radio buttons de abajo y si pongo Femenino, que se bloqueen los otros dos radio buttons de abajo.

Les agradeceria mucho su ayuda.

Saludos
  #2 (permalink)  
Antiguo 29/04/2011, 20:27
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Formulario de inscripcion

1 Aqui en FDW hay muchos aportes para control de sesiones con base de datos... usa el buscador y rapido encontraras algo.
2. No, PHP se ejecuta en el servidor y, una vez enviada la pagina, es como los politicos, se desentiende y te deja a tu suerte... entonces, debes recurrir a Javascript para modificar el comportamiento de la pagina y sus elementos.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 29/04/2011, 20:42
 
Fecha de Ingreso: abril-2011
Ubicación: ur
Mensajes: 21
Antigüedad: 13 años
Puntos: 0
Respuesta: Formulario de inscripcion

Gracias Triby. Encontre este codigo en google:

Código PHP:
<?php session_start(); ?>
<form action="" method="post">
<table width="600" border="0" cellspacing="0" cellpadding="2">
  <tr>
    <td><b>Nombre Completo</b></td>
    <td><input name="nombres" type="text" maxlength="35" size="50" value="<?php if(isset($_POST["nombres"])) {echo $_POST["nombres"];} ?>">*</td>
  </tr>
  <tr>
    <td><b>Empresa</b></td>
    <td><input name="empresa" type="text" maxlength="40" size="50" value="<?php if(isset($_POST["empresa"])) {echo $_POST["empresa"];} ?>"></td>
  </tr>
  <tr>
    <td><b>Pagina Web</b></td>
    <td><input name="web" type="text" maxlength="50" size="50" value="<?php if(isset($_POST["web"])) {echo $_POST["web"];} ?>"></td>
  </tr>
  <tr>
    <td><b>Pais/Provincia</b></td>
    <td><input name="pais" type="text" maxlength="30" size="50" value="<?php if(isset($_POST["pais"])) {echo $_POST["pais"];} ?>"></td>
  </tr>
  <tr>
    <td><b>E-mail</b></td>
    <td><input name="email" type="text" maxlength="50" size="50" value="<?php if(isset($_POST["email"])) {echo $_POST["email"];} ?>">*</td>
  </tr>
  <tr>
    <td><b>Telefono</b></td>
    <td><input name="telefono" type="text" maxlength="35" size="50" value="<?php if(isset($_POST["telefono"])) {echo $_POST["telefono"];} ?>"></td>
  </tr>
  <tr>
    <td><b>Asunto</b></td>
    <td><input name="asunto" type="text" maxlength="35" size="50" value="<?php if(isset($_POST["asunto"])) {echo $_POST["asunto"];} ?>">*</td>
  </tr>
  <tr>
    <td><b>Mensaje</b></td>
    <td><textarea name="mensaje" cols="50" rows="5" maxlength="255"></textarea>
      *</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><img id="captcha" src="/securimage/securimage_show.php" alt="CAPTCHA Image" /><a href="#" onclick="document.getElementById('captcha').src = '/securimage/securimage_show.php?' + Math.random(); return false"><img src="securimage/images/refresh.gif" alt="Recargar" border="0"/></a></td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td> <input type="text" name="captcha_code" size="27" maxlength="6" /> *</td>
    </tr>
  <tr>
    <td><input name="action" type="hidden" value="send"></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><input name="enviar" type="submit" value="Enviar"></td>
  </tr>
</table>
</form>
 
 
<?php
 
      
if (isset($_POST['action'])) {
 
       
$dest "[email protected]";
       
$head "From: ".$_POST['nombres']."<".$_POST['email'].">\r\n";
       
$asunto $_POST['asunto'];
       
$email $_POST['email'];
 
       
// CUERPO DEL MENSAJE
       
$msg "----------------------------------------- \n";
       
$msg.= "            Datos de Contacto             \n";
       
$msg.= "----------------------------------------- \n";
       
$msg.= "ASUNTO:   ".$_POST['asunto']."\n";
       
$msg.= "NOMBRE:   ".$_POST['nombres']."\n";
       
$msg.= "EMPRESA:  ".$_POST['empresa']."\n";
       
$msg.= "WEB:      ".$_POST['web']."\n";
       
$msg.= "PAIS:     ".$_POST['pais']."\n";
       
$msg.= "EMAIL:    ".$_POST['email']."\n";
       
$msg.= "TELEFONO: ".$_POST['telefono']."\n";
       
$msg.= "HORA:     ".date("h:i:s a ")."\n";
       
$msg.= "FECHA:    ".date("D, d M Y")."\n";
       
$msg.= "IP:       ".$REMOTE_ADDR."\n\n";
       
$msg.= "----------------------------------------- \n";
       
$msg.= "                 Mensaje                  \n";
       
$msg.= "----------------------------------------- \n";
       
$msg.= $_POST['mensaje']."\n\n";
 
       
// CAMPOS REQUERIDOS
       
if(empty($_POST['nombres'])) die("El campo Nombre Completo es requerido");
       if(empty(
$_POST['email'])) die("El campo E-mail es requerido");
       if(empty(
$_POST['asunto'])) die("El campo Asunto es requerido");  
       if(empty(
$_POST['mensaje'])) die("El campo Mensaje es requerido");
 
       
// VALIDAR EMAIL
       
function validarCorreo($email)
       {
       return 
eregi('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@([a-z0-9]+[\.-])*[a-z0-9]+\.[a-z]{2,6}$',$email);
       }
 
       if(
validarCorreo($email)) { }
       else { die (
'Su E-mail no es valido, verifiquelo e intentelo nuevamente.'); }
 
       
// CAPTCHA
       
include_once $_SERVER['DOCUMENT_ROOT'] . '/securimage/securimage.php';
       
$securimage = new Securimage();
       if (
$securimage->check($_POST['captcha_code']) == false) {
       die(
'El codigo es incorrecto, intentelo nuevamente.');
       }
 
       
// ENVIO DEL MENSAJE
       
if (mail($dest$asunto$msg$head)) {
       echo 
"Su mensaje fue enviado, pronto estaremos en contacto. Gracias.";
       } else {
       echo 
"Error de envio, intentelo nuevamente.";
       }
       }
 
?>
Le agrego las restricciones en javascript en el mismo codigo php?
Código PHP:
<script languaje="Javascript"></script> 
?


Saludos

Pd: alguna pequeña ayuda de ejemplo para bloquear y deslboquear radio buttons?.
  #4 (permalink)  
Antiguo 30/04/2011, 06:17
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años
Puntos: 15
Respuesta: Formulario de inscripcion

Google = bloquear radiobuttons + javascript.

Use it !!
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?
  #5 (permalink)  
Antiguo 30/04/2011, 11:29
 
Fecha de Ingreso: abril-2011
Ubicación: ur
Mensajes: 21
Antigüedad: 13 años
Puntos: 0
Respuesta: Formulario de inscripcion

Si, pero el problema esta en que en google solo encuentro la forma de bloquear el grupo entero de radio buttons pero yo necesito bloquear solo dos radio's del grupo.

Alguna sugerencia?
  #6 (permalink)  
Antiguo 30/04/2011, 14:21
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Formulario de inscripcion

Supongo que los estas intentando por nombre del campo, tal vez si lo haces por ID se pueda manejar individual, pero necesitas preguntar en Javascript
__________________
- León, Guanajuato
- GV-Foto
  #7 (permalink)  
Antiguo 30/04/2011, 15:04
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Formulario de inscripcion

Hola

Una vez que obtengas la colección de radios con javascript con getElemmentsByTagName(), recorres el ciclo y deshabilitas los radios que quieras usando el indice. Recuerda que el indice empieza en 0

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #8 (permalink)  
Antiguo 30/04/2011, 15:20
Avatar de fekaa11  
Fecha de Ingreso: abril-2011
Ubicación: Córdoba / Argentina
Mensajes: 115
Antigüedad: 13 años
Puntos: 34
Respuesta: Formulario de inscripcion

Eso que aclaras de Deshabilitar un radio cuando seleccionas otro determinado, te puedo dar un ejemplo.
Código Javascript:
Ver original
  1. <html>
  2. <head><title>Prueba</title>
  3. <script language="Javascript">
  4. function bloquear(){
  5. var form = document.formulario;
  6.     if(form.sexo[0].checked){
  7.         form.estilo[0].disabled = true;
  8.         form.estilo[1].disabled = true;
  9.         form.estilo[2].disabled = false;
  10.         form.estilo[3].disabled = false;
  11.     }else if(form.sexo[1].checked){
  12.         form.estilo[0].disabled = false;
  13.         form.estilo[1].disabled = false;
  14.         form.estilo[2].disabled = true;
  15.         form.estilo[3].disabled = true;
  16.     }
  17. }
  18. </script>
  19. </head>
  20. <body>
  21. <form method="POST" name="formulario">
  22. <font color='red'>Elija su sexo:</font><br>
  23. <input type="radio" name="sexo" onclick="bloquear();">Masculino</input>
  24. <input type="radio" name="sexo" onclick="bloquear();">Femenino</input> <br>
  25. <font color='red'>C&#243;mo se le ve ?</font><br>
  26. <input type="radio" name="estilo" value="Rubia" disabled>Rubia</input>
  27. <input type="radio" name="estilo" value="Morocha" disabled>Morocha</input>
  28. <input type="radio" name="estilo" value="Rubio" disabled>Rubio</input>
  29. <input type="radio" name="estilo" value="Morocho" disabled>Morocho</input>
  30. </form>
  31. </body>
  32. </html>

Primero selecciono un input de type radio con el nombre del sexo (mismo nombre para no permitir múltiple selección), luego hago otro input radio para permitirme seleccionar color de cabello, dependiendo sea masculino o femenino.

Al ser todos de un mismo nombre, para hacer referencia a ellos se los tiene que nombrar con el índice incluido (siempre un array comenzará con el índice 0, y luego seguirá con el 1, 2, etc..)

Entonces lo que hago, al clickear en masculino, se me habilitan (disabled = false) los dos correspondientes a esta categoría. Lo mismo hago con el radio "femenino", sólo que en proceso inverso.

Espero haberte ayudado, un saludo !
__________________
Pedir perdón es de hombres inteligentes. Perdonar es de sabios.
  #9 (permalink)  
Antiguo 30/04/2011, 15:39
 
Fecha de Ingreso: abril-2011
Ubicación: ur
Mensajes: 21
Antigüedad: 13 años
Puntos: 0
Respuesta: Formulario de inscripcion

Gracias, por sus comentarios, y perdonen que se haya desvirtuado de la categoria PHP.

Respecto al codigo de fekaa11 lo puse, pero no me funciona. Aca dejo lo que llevo.

Código Javascript:
Ver original
  1. function bloquear(){
  2.     if(f.sexo[0].checked){
  3.         f.upa[0].disabled = true;
  4.         f.upa[1].disabled = true;
  5.         f.upa[2].disabled = false;
  6.         f.upa[3].disabled = false;
  7.         f.upa[4].disabled = false;
  8.     }else if(f.sexo[1].checked){
  9.         f.upa[0].disabled = false;
  10.         f.upa[1].disabled = false;
  11.         f.upa[2].disabled = true;
  12.         f.upa[3].disabled = true;
  13.         f.upa[4].disabled = false;
  14.     }
  15. }
  16. function Validar(f) {
  17. if (f.name.value=='') {
  18.     alert("Por favor escriba su Nombre");
  19.     f.name.focus();
  20.     return (false);
  21.     }
  22.     if (f.apellido.value=='') {
  23.     alert("Por favor escriba su Apellido");
  24.     f.apellido.focus();
  25.     return (false);
  26.     }
  27. if (f.email.value=='') {
  28.     alert("Por favor escriba su dirección de correo electrónico");
  29.     f.email.focus();
  30.     return (false);
  31.     }
  32.    
  33.  var patron = /^[0-9a-zA-Z]+(?:[._][0-9a-zA-Z]+)*@[0-9a-zA-Z]+(?:[._-][0-9a-zA-Z]+)*\.[0-9a-zA-Z]{2,4}$/;
  34. if (!patron.test(f.email.value)){
  35. alert("La dirección de email no es correcta.")
  36. return (false)
  37. }
  38.  
  39. var s="no";
  40. if(f.sexo[1].checked);
  41. for ( var i = 0; i < f.sexo.length; i++ )
  42. {
  43. if (f.sexo[i].checked ){;
  44.  
  45. s= "si";
  46. break;
  47. }
  48. }
  49. if ( s == "no" ){
  50. alert( "Por favor debe seleccionar Masculino o Femenino" ) ;
  51. return(false);
  52. }
  53.  
  54.  
  55.     if (f.edad.value=='') {
  56.     alert("Por favor instrodusca su edad.");
  57.     f.edad.focus();
  58.     return (false);
  59.     }
  60.    
  61.    
  62.     var s="no";
  63. if(f.upa[1].checked);
  64. for ( var i = 0; i < f.upa.length; i++ )
  65. {
  66. if (f.upa[i].checked ){;
  67.  
  68. s= "si";
  69. break;
  70. }
  71. }
  72. if ( s == "no" ){
  73. alert( "Por favor elija una de las opciones." ) ;
  74. return(false);
  75. }
  76. }

Código HTML:
<html>
<head>
<title>Formulario de Contacto en PHP por Dasumo</title>
<!-- Inicio enlace al archivo de validación -->
<script type="text/javascript" src="validar.js"></script>
<!-- Fin enlace al archivo de validación -->
</head>
<body>
<!-- Inicio Formulario de Contacto por Dasumo-->
<div align="center">
<form method="post" action="contacto.php" onSubmit="return Validar(this);">
    <label for="name">Nombre:<br>
    <input id="name" name="name" type="text" size="27"> </label><br><br>
    <label for="apellido">Apellido:<br>
    <input id="apellido" name="apellido" type="text" size="27">
    </label><br><br>
    <label for="email">Correo Electrónico:<br>
    <input id="email" name="email" type="text" size="27"> </label><br><br>
<label for="sexo">Sexo:<br>
Masculino
<input type="radio" name="sexo" value="M" id="1">
Femenino
<input type="radio" name="sexo" value="F" id="2">
</label><br><br>
<label for="edad">Edad:
<input id"edad" name="edad" type"text" size="1" maxlength="2"> </label><br><br>

<label for"upa">Usted pertenece a:<br>
A
<input type="radio" name="upa" value="A" disabled><br>
B
<input type="radio" name="upa" value="B" disabled><br>
C
<input type="radio" name="upa" value="C" disabled><br>
D
<input type="radio" name="upa" value="D" disabled><br>
E
<input type="radio" name="upa" value="E" disabled><br><br>
</label>

    <input type="submit" name="submit" value="Enviar" /><br>
</form>
</div>
<!-- Fin Formulario de contacto -->
</body>
</html> 
Alguna sugerencia?.

Saludos.
  #10 (permalink)  
Antiguo 30/04/2011, 16:11
 
Fecha de Ingreso: abril-2011
Ubicación: ur
Mensajes: 21
Antigüedad: 13 años
Puntos: 0
Respuesta: Formulario de inscripcion

Trate haciendolo con ID pero tampoco, aca un ejemplo:
Código Javascript:
Ver original
  1. function bloquear(){
  2.     if(f.sexo.getElementById('1').checked == true){
  3.         f.upa.getElementById('1').disabled = true;
  4.         f.upa.getElementById('2').disabled = true;
  5.         f.upa.getElementById('3').disabled = false;
  6.         f.upa.getElementById('4').disabled = false;
  7.         f.upa.getElementById('5').disabled = false;
  8.     }else if(f.sexo.getElementById('2').checked == true){
  9.         f.upa.getElementById('1').disabled = false;
  10.         f.upa.getElementById('2').disabled = false;
  11.         f.upa.getElementById('3').disabled = true;
  12.         f.upa.getElementById('4').disabled = true;
  13.         f.upa.getElementById('5').disabled = false;
  14.     }
  15. }

Código HTML:
<label for="sexo">Sexo:<br>
Masculino
<input type="radio" name="sexo" value="M" id="1">
Femenino
<input type="radio" name="sexo" value="F" id="2">
</label><br><br>
<label for"upa">Usted pertenece a:<br>
A
<input type="radio" name="upa" value="A" disabled id="1"><br>
B
<input type="radio" name="upa" value="B" disabled id="2"><br>
C
<input type="radio" name="upa" value="C" disabled id="3"><br>
D
<input type="radio" name="upa" value="D" disabled id="4"><br>
E
<input type="radio" name="upa" value="E" disabled id="5"><br><br>
</label> 
???
  #11 (permalink)  
Antiguo 30/04/2011, 16:38
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Formulario de inscripcion

Hola

Tomando un código anterior y haciéndole unos cambios
Código Javascript:
Ver original
  1. <html>
  2. <head><title>Prueba</title>
  3. <script language="Javascript">
  4. function bloquear(s){
  5. var rad = document.getElementById('des_rad').getElementsByTagName('input');
  6. for (var i = 0; i < rad.length; i++) {
  7. if (i &#37; 2 == parseInt(s)) {
  8. rad[i].disabled =  false;
  9. }else{
  10. rad[i].disabled =  true;}
  11. }
  12. }
  13. </script>
  14. </head>
  15. <body>
  16. <form method="POST" name="formulario">
  17. <font color='red'>Elija su sexo:</font><br>
  18. <input type="radio" name="sexo" onclick="bloquear(1);">Masculino</input>
  19. <input type="radio" name="sexo" onclick="bloquear(0);">Femenino</input> <br>
  20. <font color='red'>C&#243;mo se le ve ?</font><br>
  21. <div id="des_rad">
  22. <input type="radio" name="estilo" value="Rubia" disabled>Rubia</input>
  23. <input type="radio" name="estilo" value="Rubio" disabled>Rubio</input>
  24. <input type="radio" name="estilo" value="Morocha" disabled>Morocha</input>
  25. <input type="radio" name="estilo" value="Morocho" disabled>Morocho</input>
  26. </div>
  27. </form>
  28. </body>
  29. </html>

Nota.- % es la "y comercial"

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #12 (permalink)  
Antiguo 30/04/2011, 16:45
 
Fecha de Ingreso: abril-2011
Ubicación: ur
Mensajes: 21
Antigüedad: 13 años
Puntos: 0
Respuesta: Formulario de inscripcion

Adler, gracias, pero al poner eso me tira un error de sintaxis. Prueba pegando tu codigo en algun editor y te va a tirar el error.

Respecto al codigo de Fekaa11, si lo pongo en un html se ve que funciona perfecto, pero si lo pongo en mi codigo, ya sea así (en el mismo codigo del formulario):

Código Javascript:
Ver original
  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  2. <html>
  3. <head>
  4. <title>Formulario de Contacto en PHP por Dasumo</title>
  5. <script type="text/javascript" src="validar.js"></script>
  6. <script language="Javascript">
  7. function bloquear(){
  8. var form = document.formulario;
  9.     if(form.sexo[0].checked){
  10.         form.upa[0].disabled = true;
  11.         form.upa[1].disabled = true;
  12.         form.upa[2].disabled = false;
  13.         form.upa[3].disabled = false;
  14.         form.upa[4].disabled = false;
  15.     }else if(form.sexo[1].checked){
  16.         form.upa[0].disabled = false;
  17.         form.upa[1].disabled = false;
  18.         form.upa[2].disabled = true;
  19.         form.upa[3].disabled = true;
  20.         form.upa[4].disabled = false;
  21.     }
  22. }
  23. </script>
  24. </head>
  25. <body>
  26. <!-- Inicio Formulario de Contacto por Dasumo-->
  27. <div align="left">
  28. <form method="post" action="contacto.php" onSubmit="return Validar(this);" name="formulario">
  29.     <label for="name">Nombre:
  30.     <input id="name" name="name" type="text" size="27"> </label><br><br>
  31.     <label for="apellido">Apellido:
  32.     <input id="apellido" name="apellido" type="text" size="27">
  33.     </label><br><br>
  34.     <label for="email">Correo Electr&#243;nico:
  35.     <input id="email" name="email" type="text" size="27"> </label>
  36.    
  37. <br><br>
  38.    
  39. <label for="sexo">Sexo:<br>
  40. Masculino<input type="radio" name="sexo" value="M">
  41. Femenino<input type="radio" name="sexo" value="F"></label>
  42.  
  43. <br><br>
  44.  
  45. <label for="edad">Edad:
  46. <input id"edad" name="edad" type="text" size="1" maxlength="2"> </label>
  47.  
  48. <br><br>
  49.  
  50. <label for"upa">Usted pertenece a:<br>
  51. A<input type="radio" name="upa" value="A" disabled><br>
  52. B<input type="radio" name="upa" value="B" disabled><br>
  53. C<input type="radio" name="upa" value="C" disabled><br>
  54. D<input type="radio" name="upa" value="D" disabled><br>
  55. E<input type="radio" name="upa" value="E" disabled><br><br>
  56. </label>
  57.  
  58.     <input type="submit" name="submit" value="Enviar" /><br>
  59. </form>
  60. </div>
  61. <!-- Fin Formulario de contacto -->
  62. </body>
  63. <style = "text/css">
  64. body{
  65.     font-family: Arial, Helvetica, sans-serif;
  66.     font-size:14px;
  67. }
  68. </style>
  69. </html>

o en el codigo javascript:
validar.js
Código Javascript:
Ver original
  1. function bloquear(){
  2. var form = formulario;
  3.     if(form.sexo[0].checked){
  4.         form.upa[0].disabled = true;
  5.         form.upa[1].disabled = true;
  6.         form.upa[2].disabled = false;
  7.         form.upa[3].disabled = false;
  8.         form.upa[4].disabled = false;
  9.     }else if(form.sexo[1].checked){
  10.         form.upa[0].disabled = false;
  11.         form.upa[1].disabled = false;
  12.         form.upa[2].disabled = true;
  13.         form.upa[3].disabled = true;
  14.         form.upa[4].disabled = false;
  15.     }
  16. }
  17. function Validar(f) {
  18. if (f.name.value=='') {
  19.     alert("Por favor escriba su Nombre");
  20.     f.name.focus();
  21.     return (false);
  22.     }
  23.     if (f.apellido.value=='') {
  24.     alert("Por favor escriba su Apellido");
  25.     f.apellido.focus();
  26.     return (false);
  27.     }
  28. if (f.email.value=='') {
  29.     alert("Por favor escriba su dirección de correo electrónico");
  30.     f.email.focus();
  31.     return (false);
  32.     }
  33.    
  34.  var patron = /^[0-9a-zA-Z]+(?:[._][0-9a-zA-Z]+)*@[0-9a-zA-Z]+(?:[._-][0-9a-zA-Z]+)*\.[0-9a-zA-Z]{2,4}$/;
  35. if (!patron.test(f.email.value)){
  36. alert("La dirección de email no es correcta.")
  37. return (false)
  38. }
  39.  
  40. var s="no";
  41. if(f.sexo[1].checked);
  42. for ( var i = 0; i < f.sexo.length; i++ )
  43. {
  44. if (f.sexo[i].checked ){;
  45.  
  46. s= "si";
  47. break;
  48. }
  49. }
  50. if ( s == "no" ){
  51. alert( "Por favor debe seleccionar Masculino o Femenino" ) ;
  52. return(false);
  53. }
  54.  
  55.  
  56.     if (f.edad.value=='') {
  57.     alert("Por favor instrodusca su edad.");
  58.     f.edad.focus();
  59.     return (false);
  60.     }
  61.    
  62.    
  63.     var s="no";
  64. if(f.upa[1].checked);
  65. for ( var i = 0; i < f.upa.length; i++ )
  66. {
  67. if (f.upa[i].checked ){;
  68.  
  69. s= "si";
  70. break;
  71. }
  72. }
  73. if ( s == "no" ){
  74. alert( "Por favor elija una de las opciones." ) ;
  75. return(false);
  76. }
  77. }

no me funciona.


Saludos

Última edición por Vicnaz; 30/04/2011 a las 17:12
  #13 (permalink)  
Antiguo 30/04/2011, 19:35
 
Fecha de Ingreso: abril-2011
Ubicación: ur
Mensajes: 21
Antigüedad: 13 años
Puntos: 0
Respuesta: Formulario de inscripcion

Alguna solucion?
  #14 (permalink)  
Antiguo 30/04/2011, 19:43
Avatar de fekaa11  
Fecha de Ingreso: abril-2011
Ubicación: Córdoba / Argentina
Mensajes: 115
Antigüedad: 13 años
Puntos: 34
Respuesta: Formulario de inscripcion

Amigo, primero en principal, al declarar la función "bloquear()", tienes que indicar que La variable FORM es igual a document.formulario (nombre del formulario) o document.forms[0] (donde 0 es el índice del formulario) te faltó eso, y además también te faltó en el html la función ONCLICK de cada radio button de name="sexo".

Aquí va el codigo completo, por lo menos a mí, me funciona:
Código HTML:
Ver original
  1. <head><title>Prueba</title>
  2. <script type="text/javascript" src='validar.js'></script>
  3. </head>
  4. <!-- Inicio Formulario de Contacto por Dasumo-->
  5. <div align="center">
  6. <form name="formulario" method="post" action="contacto.php" onSubmit="return Validar(this);">
  7.     <label for="name">Nombre:<br>
  8.     <input id="name" name="name" type="text" size="27"> </label><br><br>
  9.     <label for="apellido">Apellido:<br>
  10.     <input id="apellido" name="apellido" type="text" size="27">
  11.     </label><br><br>
  12.     <label for="email">Correo Electrónico:<br>
  13.     <input id="email" name="email" type="text" size="27"> </label><br><br>
  14. Sexo:<br>
  15. Masculino
  16. <input type="radio" name="sexo" value="M" id="1" onclick="bloquear();">
  17. Femenino
  18. <input type="radio" name="sexo" value="F" id="2" onclick="bloquear();">
  19. <br><br>
  20. <label for="edad">Edad:
  21. <input id="edad" name="edad" type="text" size="1" maxlength="2"> </label><br><br>
  22.  
  23. Usted pertenece a:<br>
  24. A
  25. <input type="radio" name="upa" value="A" disabled><br>
  26. B
  27. <input type="radio" name="upa" value="B" disabled><br>
  28. C
  29. <input type="radio" name="upa" value="C" disabled><br>
  30. D
  31. <input type="radio" name="upa" value="D" disabled><br>
  32. E
  33. <input type="radio" name="upa" value="E" disabled><br><br>
  34.  
  35.     <input type="submit" name="submit" value="Enviar" /><br>
  36. </form>
  37. </div>
  38. <!-- Fin Formulario de contacto -->
  39. </body>
  40. </html>

Validar.js (código javascript)
Cita:
function bloquear(){
var form = document.formulario;
if(form.sexo[0].checked){
form.upa[0].disabled = true;
form.upa[1].disabled = true;
form.upa[2].disabled = false;
form.upa[3].disabled = false;
form.upa[4].disabled = false;
}else if(form.sexo[1].checked){
form.upa[0].disabled = false;
form.upa[1].disabled = false;
form.upa[2].disabled = true;
form.upa[3].disabled = true;
form.upa[4].disabled = false;
}
}
function Validar(f) {
var f = document.formulario;
if (f.name.value=='') {
alert("Por favor escriba su Nombre");
f.name.focus();
return (false);
}
if (f.apellido.value=='') {
alert("Por favor escriba su Apellido");
f.apellido.focus();
return (false);
}
if (f.email.value=='') {
alert("Por favor escriba su dirección de correo electrónico");
f.email.focus();
return (false);
}

var patron = /^[0-9a-zA-Z]+(?:[._][0-9a-zA-Z]+)*@[0-9a-zA-Z]+(?:[._-][0-9a-zA-Z]+)*\.[0-9a-zA-Z]{2,4}$/;
if (!patron.test(f.email.value)){
alert("La dirección de email no es correcta.")
return (false)
}
 
var s="no";
if(f.sexo[1].checked);
for ( var i = 0; i < f.sexo.length; i++ )
{
if (f.sexo[i].checked ){;
 
s= "si";
break;
}
}
if ( s == "no" ){
alert( "Por favor debe seleccionar Masculino o Femenino" ) ;
return(false);
}
 
 
if (f.edad.value=='') {
alert("Por favor instrodusca su edad.");
f.edad.focus();
return (false);
}
 
   
var s="no";
if(f.upa[1].checked);
for ( var i = 0; i < f.upa.length; i++ )
{
if (f.upa[i].checked ){;
 
s= "si";
break;
}
}
if ( s == "no" ){
alert( "Por favor elija una de las opciones." ) ;
return(false);
}
}
Espero haberte ayudado, cualquier duda me avisas. Un saludo !
__________________
Pedir perdón es de hombres inteligentes. Perdonar es de sabios.
  #15 (permalink)  
Antiguo 30/04/2011, 20:34
 
Fecha de Ingreso: abril-2011
Ubicación: ur
Mensajes: 21
Antigüedad: 13 años
Puntos: 0
Respuesta: Formulario de inscripcion

Gracias Fekaa!, funciono!, una pregunta, hay alguna forma de resetear "upa"(todo el grupo de radio's), al presionar algun sexo? porque si pongo sexo M luego pongo C, y despues cambio el sexo a F, queda marcado como sexo F + C(cuando C solo pertenece a el sexo masculino).

Muchas gracias
Saludos.
  #16 (permalink)  
Antiguo 30/04/2011, 20:39
 
Fecha de Ingreso: abril-2011
Ubicación: ur
Mensajes: 21
Antigüedad: 13 años
Puntos: 0
Respuesta: Formulario de inscripcion

Ya lo solucione de la misma manera que me pusiste tu! gracias!!!!

Aca dejo el codigo final:

Código Javascript:
Ver original
  1. function bloquear(){
  2. var form = document.formulario;
  3. if(form.sexo[0].checked){
  4.     form.upa[0].checked = false;
  5.     form.upa[1].checked = false;
  6.     form.upa[2].checked = false;
  7.     form.upa[3].checked = false;
  8.     form.upa[4].checked = false;
  9. form.upa[0].disabled = true;
  10. form.upa[1].disabled = true;
  11. form.upa[2].disabled = false;
  12. form.upa[3].disabled = false;
  13. form.upa[4].disabled = false;
  14. }else if(form.sexo[1].checked){
  15.     form.upa[0].checked = false;
  16.     form.upa[1].checked = false;
  17.     form.upa[2].checked = false;
  18.     form.upa[3].checked = false;
  19.     form.upa[4].checked = false;
  20. form.upa[0].disabled = false;
  21. form.upa[1].disabled = false;
  22. form.upa[2].disabled = true;
  23. form.upa[3].disabled = true;
  24. form.upa[4].disabled = false;
  25. }
  26. }

Código HTML:
<form name="formulario" method="POST" action="contacto.php" onSubmit="return Validar(this);">
<label for="sexo">Sexo:<br>
Masculino<input type="radio" name="sexo" value="M" onclick="bloquear()">
Femenino<input type="radio" name="sexo" value="F" onclick="bloquear()"></label>

<br><br>

<label for"upa">Usted pertenece a:<br>
A<input type="radio" name="upa" value="A" disabled><br>
B<input type="radio" name="upa" value="B" disabled><br>
C<input type="radio" name="upa" value="C" disabled><br>
D<input type="radio" name="upa" value="D" disabled><br>
E<input type="radio" name="upa" value="E" disabled><br><br>
</label>
</form> 
Nuevamente gracias!!!
  #17 (permalink)  
Antiguo 30/04/2011, 21:01
Avatar de fekaa11  
Fecha de Ingreso: abril-2011
Ubicación: Córdoba / Argentina
Mensajes: 115
Antigüedad: 13 años
Puntos: 34
Respuesta: Formulario de inscripcion

De nada amigo.
Para eso estoy :) Cuidate, un saludo!
__________________
Pedir perdón es de hombres inteligentes. Perdonar es de sabios.
  #18 (permalink)  
Antiguo 02/05/2011, 16:22
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Tema movido desde PHP a Javascript
  #19 (permalink)  
Antiguo 02/05/2011, 16:36
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Formulario de inscripcion

Cita:
Iniciado por Vicnaz Ver Mensaje
Adler, gracias, pero al poner eso me tira un error de sintaxis. Prueba pegando tu codigo en algun editor y te va a tirar el error.
no seas necio, no tiene ningún error.es sólo que el foro ha convertido el singo de por ciento en entidad html
Cita:
# & 3 7 ; es el "%"
<offtopic>adler, me alegra verte de nuevo</offtopic>

Última edición por IsaBelM; 02/05/2011 a las 16:47

Etiquetas: inscripcion, php, formulario
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 10:08.