Advertisement
afsarwebdev

JS multi step form

May 29th, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.43 KB | None | 0 0
  1. //js multi steps form
  2. //HTML
  3. <form id="regForm" action="">
  4.  
  5. <h1>Register:</h1>
  6.  
  7. <!-- One "tab" for each step in the form: -->
  8. <div class="tab">Name:
  9. <p><input placeholder="First name..." oninput="this.className = ''"></p>
  10. <p><input placeholder="Last name..." oninput="this.className = ''"></p>
  11. </div>
  12.  
  13. <div class="tab">Contact Info:
  14. <p><input placeholder="E-mail..." oninput="this.className = ''"></p>
  15. <p><input placeholder="Phone..." oninput="this.className = ''"></p>
  16. </div>
  17.  
  18. <div class="tab">Birthday:
  19. <p><input placeholder="dd" oninput="this.className = ''"></p>
  20. <p><input placeholder="mm" oninput="this.className = ''"></p>
  21. <p><input placeholder="yyyy" oninput="this.className = ''"></p>
  22. </div>
  23.  
  24. <div class="tab">Login Info:
  25. <p><input placeholder="Username..." oninput="this.className = ''"></p>
  26. <p><input placeholder="Password..." oninput="this.className = ''"></p>
  27. </div>
  28.  
  29. <div style="overflow:auto;">
  30. <div style="float:right;">
  31. <button type="button" id="prevBtn" onclick="nextPrev(-1)">Previous</button>
  32. <button type="button" id="nextBtn" onclick="nextPrev(1)">Next</button>
  33. </div>
  34. </div>
  35. </form>
  36.  
  37. //css
  38. /* Hide all steps by default: */
  39. .tab {
  40. display: none;
  41. }
  42.  
  43. //js
  44. var currentTab = 0;
  45. showTab(currentTab);
  46.  
  47. function showTab(n) {
  48. var x = document.getElementsByClassName("tab");
  49. x[n].style.display = "block";
  50. if (n == 0) {
  51. document.getElementById("prevBtn").style.display = "none";
  52. } else {
  53. document.getElementById("prevBtn").style.display = "inline";
  54. }
  55. if (n == (x.length - 1)) {
  56. document.getElementById("nextBtn").innerHTML = "Submit";
  57. } else {
  58. document.getElementById("nextBtn").innerHTML = "Next";
  59. }
  60. }
  61.  
  62. function nextPrev(n) {
  63. var x = document.getElementsByClassName("tab");
  64. if (n == 1 && !validateForm()) return false;
  65. x[currentTab].style.display = "none";
  66. currentTab = currentTab + n;
  67. if (currentTab >= x.length) {
  68. document.getElementById("regForm").submit();
  69. return false;
  70. }
  71. showTab(currentTab);
  72. }
  73.  
  74. function validateForm() {
  75. var x, y, i, valid = true;
  76. x = document.getElementsByClassName("tab");
  77. y = x[currentTab].getElementsByTagName("input");
  78. for (i = 0; i < y.length; i++) {
  79. if (y[i].value == "") {
  80. y[i].className += " invalid";
  81. valid = false;
  82. }
  83. }
  84. return valid;
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement