index.php 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. <!DOCTYPE html>
  2. <!--[if lt IE 7 ]> <html lang="en" class="ie6"> <![endif]-->
  3. <!--[if IE 7 ]> <html lang="en" class="ie7"> <![endif]-->
  4. <!--[if IE 8 ]> <html lang="en" class="ie8"> <![endif]-->
  5. <!--[if IE 9 ]> <html lang="en" class="ie9"> <![endif]-->
  6. <!--[if (gt IE 9)|!(IE)]><!--> <html lang="en"> <!--<![endif]-->
  7. <head>
  8. <link rel="stylesheet" href="css/jquery.idealforms.css">
  9. <link rel="stylesheet" href="http://necolas.github.io/normalize.css/2.1.3/normalize.css">
  10. <meta charset=utf-8 />
  11. <title>Ideal Forms 3</title>
  12. <style>
  13. body {
  14. width: 960px;
  15. margin: 2em auto !important;
  16. font: normal 15px/1.5 Arial, sans-serif;
  17. color: #353535;
  18. overflow-y: scroll;
  19. }
  20. .idealforms .submit {
  21. margin: .35em 120px;
  22. }
  23. #invalid {
  24. display: none;
  25. float: left;
  26. padding: .25em .75em;
  27. color: #CC2A18;
  28. font-size: 120%;
  29. font-weight: bold;
  30. }
  31. </style>
  32. </head>
  33. <body>
  34. <div class="idealsteps-container">
  35. <nav class="idealsteps-nav"></nav>
  36. <form action="" novalidate class="idealforms">
  37. <div class="idealsteps-wrap">
  38. <!-- Step 1 -->
  39. <section class="idealsteps-step">
  40. <div class="field">
  41. <label class="main">Username:</label>
  42. <input name="username" type="text" data-idealforms-ajax="ajax.php">
  43. <span class="error"></span>
  44. </div>
  45. <div class="field">
  46. <label class="main">E-Mail:</label>
  47. <input name="email" type="email">
  48. <span class="error"></span>
  49. </div>
  50. <div class="field">
  51. <label class="main">Password:</label>
  52. <input name="password" type="password">
  53. <span class="error"></span>
  54. </div>
  55. <div class="field">
  56. <label class="main">Confirm:</label>
  57. <input name="confirmpass" type="password">
  58. <span class="error"></span>
  59. </div>
  60. <div class="field">
  61. <label class="main">Date:</label>
  62. <input name="date" type="text" placeholder="mm/dd/yyyy" class="datepicker">
  63. <span class="error"></span>
  64. </div>
  65. <div class="field">
  66. <label class="main">Picture:</label>
  67. <input id="picture" name="picture" type="file" multiple>
  68. <span class="error"></span>
  69. </div>
  70. <div class="field">
  71. <label class="main">Website:</label>
  72. <input name="website" type="text">
  73. <span class="error"></span>
  74. </div>
  75. </section>
  76. <!-- Step 2 -->
  77. <section class="idealsteps-step">
  78. <div class="field">
  79. <label class="main">Sex:</label>
  80. <p class="group">
  81. <label><input name="sex" type="radio" value="male">Male</label>
  82. <label><input name="sex" type="radio" value="female">Female</label>
  83. </p>
  84. <span class="error"></span>
  85. </div>
  86. <div class="field">
  87. <label class="main">Hobbies:</label>
  88. <p class="group">
  89. <label><input name="hobbies[]" type="checkbox" value="football">Football</label>
  90. <label><input name="hobbies[]" type="checkbox" value="basketball">Basketball</label>
  91. <label><input name="hobbies[]" type="checkbox" value="dancing">Dancing</label>
  92. <label><input name="hobbies[]" type="checkbox" value="dancing">Parkour</label>
  93. <label><input name="hobbies[]" type="checkbox" value="dancing">Videogames</label>
  94. </p>
  95. <span class="error"></span>
  96. </div>
  97. </section>
  98. <!-- Step 3 -->
  99. <section class="idealsteps-step">
  100. <div class="field">
  101. <label class="main">Phone:</label>
  102. <input name="phone" type="text">
  103. <span class="error"></span>
  104. </div>
  105. <div class="field">
  106. <label class="main">Zip:</label>
  107. <input name="zip" type="text">
  108. <span class="error"></span>
  109. </div>
  110. <div class="field">
  111. <label class="main">Options:</label>
  112. <select name="options" id="">
  113. <option value="default">&ndash; Select an option &ndash;</option>
  114. <option value="1">One</option>
  115. <option value="2">Two</option>
  116. <option value="3">Three</option>
  117. <option value="4">Four</option>
  118. </select>
  119. <span class="error"></span>
  120. </div>
  121. <div class="field">
  122. <label class="main">Comments:</label>
  123. <textarea name="comments" cols="30" rows="10"></textarea>
  124. <span class="error"></span>
  125. </div>
  126. </section>
  127. </div>
  128. <div class="submit">
  129. <button type="submit">Submit</button>
  130. <span id="invalid"></span>
  131. </div>
  132. </form>
  133. </div>
  134. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
  135. <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
  136. <script src="js/out/jquery.idealforms.js"></script>
  137. <!--<script src="js/out/jquery.idealforms.min.js"></script>-->
  138. <script>
  139. $('form').idealforms({
  140. rules: {
  141. 'username': 'required username ajax',
  142. 'email': 'required email',
  143. 'password': 'required pass',
  144. 'confirmpass': 'required equalto:password',
  145. 'date': 'date',
  146. 'picture': 'required extension:jpg:png',
  147. 'website': 'url',
  148. 'hobbies[]': 'minoption:1 maxoption:2',
  149. 'phone': 'required phone',
  150. 'zip': 'required zip',
  151. 'options': 'select:default',
  152. },
  153. errors: {
  154. 'username': {
  155. ajaxError: 'Username not available'
  156. }
  157. },
  158. onSubmit: function(invalid) {
  159. $('#invalid').show().text(invalid ? (invalid +' invalid fields') : 'All good!')
  160. }
  161. });
  162. $('form').keyup(function() {
  163. $('#invalid').hide();
  164. });
  165. $('form').idealforms('addRules', {
  166. 'comments': 'required minmax:50:200'
  167. });
  168. </script>
  169. </body>
  170. </html>