JQuery, show/hide form

May 2, 2017 8 Yehor Rykhnov

A simple example of show/hide the form using jQuery.

For example, we will use the Bootstrap style. And so we proceed.

We connect jQuery and Bootstrap:

  1. <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
  2. <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
  3. <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
  4. <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

Create a simple form:

  1. <form class="my-form hide">
  2.  
  3. <div class="row">
  4.  
  5. <div class="col-md-6">
  6. <div class="form-group">
  7. <label for="name">Enter name:</label>
  8. <input id="name" type="text" placeholder="Enter name" class="form-control" />
  9. </div>
  10. </div>
  11.  
  12. <div class="col-md-6">
  13. <div class="form-group">
  14. <label for="email">Enter e-mail:</label>
  15. <input id="email" type="text" placeholder="Enter e-mail" class="form-control" />
  16. </div>
  17. </div>
  18.  
  19. </div>
  20.  
  21. <div class="row">
  22.  
  23. <div class="col-md-12">
  24. <div class="form-group">
  25. <label for="text">Enter your message:</label>
  26. <textarea id="text" name="text" placeholder="Enter your message" class="form-control" rows="3"></textarea>
  27. </div>
  28. </div>
  29.  
  30. </div>
  31.  
  32. <div class="form-group text-right">
  33. <input id="cancel" type="reset" value="Cancel" class="btn btn-default" />
  34. <input id="enter" type="submit" value="Send" class="btn btn-success" />
  35. </div>
  36.  
  37. <p>Click "Cancel" to hide the form.</p>
  38.  
  39. </form>

Add the link "Show form":

  1. <a href="#" id="show-form">Show form</a>

We add the event of showing the form by clicking on the link:

  1. $('#show-form').click(function () {
  2. $('.my-form').removeClass('hide');
  3. $( "#name" ).focus();
  4. });

Hide the form after clicking on the "Cancel" button:

  1. $('#cancel').click(function () {
  2. $('.my-form').addClass('hide');
  3. });

We wrap these events in the "document ready", for correct work:

  1. <script>
  2. $(document).ready(function() {
  3. $('#show-form').click(function () {
  4. $('.my-form').removeClass('hide');
  5. $( "#name" ).focus();
  6. });
  7. $('#cancel').click(function () {
  8. $('.my-form').addClass('hide');
  9. });
  10. });
  11. </script>

Done, you can use. I will give the full page code:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.  
  5. <meta charset="UTF-8">
  6. <title>Show/hide form - devreadwrite.com</title>
  7.  
  8. <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
  9. <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
  10. <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
  11. <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
  12. <script>
  13. $(document).ready(function() {
  14. $('#show-form').click(function () {
  15. $('.my-form').removeClass('hide');
  16. $( "#name" ).focus();
  17. });
  18. $('#cancel').click(function () {
  19. $('.my-form').addClass('hide');
  20. });
  21. });
  22. </script>
  23.  
  24. </head>
  25. <body>
  26.  
  27. <div class="container">
  28. <div class="row">
  29.  
  30. <h1>Show/hide form</h1>
  31. <a href="#" id="show-form">Show form</a>
  32.  
  33. <form class="my-form hide">
  34.  
  35. <div class="row">
  36.  
  37. <div class="col-md-6">
  38. <div class="form-group">
  39. <label for="name">Enter name:</label>
  40. <input id="name" type="text" placeholder="Enter name" class="form-control" />
  41. </div>
  42. </div>
  43.  
  44. <div class="col-md-6">
  45. <div class="form-group">
  46. <label for="email">Enter e-mail:</label>
  47. <input id="email" type="text" placeholder="Enter e-mail" class="form-control" />
  48. </div>
  49. </div>
  50.  
  51. </div>
  52.  
  53. <div class="row">
  54.  
  55. <div class="col-md-12">
  56. <div class="form-group">
  57. <label for="text">Enter your message:</label>
  58. <textarea id="text" name="text" placeholder="Enter your message" class="form-control" rows="3"></textarea>
  59. </div>
  60. </div>
  61.  
  62. </div>
  63.  
  64. <div class="form-group text-right">
  65. <input id="cancel" type="reset" value="Cancel" class="btn btn-default" /> <input id="enter" type="submit" value="Send" class="btn btn-success" />
  66. </div>
  67.  
  68. <p>Click "Cancel" to hide the form.</p>
  69.  
  70. </form>
  71.  
  72. </div>
  73. </div>
  74.  
  75. </body>
  76. </html>