Ver Mensaje Individual
  #8 (permalink)  
Antiguo 02/07/2013, 10:00
Avatar de Reedyseth
Reedyseth
 
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 3 meses
Puntos: 36
Respuesta: Activar campos requeridos al pulsar link

Que tal @franjgg,

El trabajar con eventos de Javascript puede ser algo confuso al principio, de hecho si estas trabajando en una aplicación debes de considerar que tu aplicación funcione en todos, si no es que en todos los exploradores. Tu mayor problema va a ser Internet Explorer. Por lo tanto puedes tomar dos caminos:

1.- Hacer crossbrowser tu código javascript

2.- Utilizar un API llamado jQuery y que este se encargue de eso.

Para resolver tu duda te pongo un ejemplo con jQuery, utilizo la versión 1.7.2, si utilizas la versión mas nueva necesitaras cambiar el código que te comparto.


Código Javascript:
Ver original
  1. jQuery(function($) {
  2.  
  3.     $('.hidden').hide();
  4.  
  5.     $('.link').click(function (e) {
  6.         e.preventDefault();
  7.         $('.hidden').toggle();
  8.  
  9.         return false;
  10.     });
  11. });

Basicamente lo que hace el código es ocultar los inputs y controlar el evento del click en tu link.

El código que puedes copiar y pegar para que lo pruebes es el siguiente:

Código HTML:
Ver original
  1. <!DOCTYPE>
  2.     <head>
  3.         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4.         <title>Jquery load with content and effect.</title>
  5.         <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
  6.         <script type="text/javascript">
  7.             jQuery(function($) {
  8.  
  9.                 $('.hidden').hide
  10.  
  11.                 $('.link').click(function (e) {
  12.                     e.preventDefault();
  13.                     $('.hidden').toggle();
  14.  
  15.                     return false;
  16.                 });
  17.             });
  18.         </script>
  19.         <style type="text/css">
  20.             body { font-family:Arial, Helvetica, Sans-Serif; font-size:1.2em;}
  21.             table {font-size:1.2em;}
  22.             td:nth-child(1) label {background-color: #E655C1;}
  23.         </style>
  24.     </head>
  25.     <body>
  26.         <form action="#" method="post">
  27.             <label for="txt1">Input 1:</label>
  28.             <input type="text" name="txt1" id="txt1" /><br><br>
  29.  
  30.             <a class="link" href="#">Link</a><br><br>
  31.  
  32.             <label class="hidden" for="txt2">Input 2:</label>
  33.             <input class="hidden" type="text" name="txt2" id="txt2" /><br>
  34.  
  35.             <label class="hidden" for="txt3">Input 3:</label>
  36.             <input class="hidden" type="text" name="txt3" id="txt3" /><br><br>
  37.  
  38.             <input type="submit" value="Submit" />
  39.         </form>
  40.     </body>
  41. </html>

La funcionalidad es:
  1. Al darle click controlamos el evento que se va realizar en el link, osea detenemos que se vaya a la dirección, aún cuando hayas puesto una anlca (#)
  2. Si esta oculto los inputs se muestran, si no viceversa, esto lo hace la función toggle().
  3. Regresamos un valor false para ayudar a evitar la propagación del evento disparado por el tag 'a'

No dudes en preguntar si batallas con algo.
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.