enable.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>BootstrapValidator demo</title>
  5. <link rel="stylesheet" href="../vendor/bootstrap/css/bootstrap.css"/>
  6. <link rel="stylesheet" href="../dist/css/bootstrapValidator.css"/>
  7. <script type="text/javascript" src="../vendor/jquery/jquery-1.10.2.min.js"></script>
  8. <script type="text/javascript" src="../vendor/bootstrap/js/bootstrap.min.js"></script>
  9. <script type="text/javascript" src="../dist/js/bootstrapValidator.js"></script>
  10. </head>
  11. <body>
  12. <div class="container">
  13. <div class="row">
  14. <!-- form: -->
  15. <section>
  16. <div class="col-lg-8 col-lg-offset-2">
  17. <div class="page-header">
  18. <h2>Checkout</h2>
  19. </div>
  20. <form id="checkoutForm" method="post" class="form-horizontal" action="target.php">
  21. <div class="form-group">
  22. <label class="col-lg-3 control-label">Shipping address</label>
  23. <div class="col-lg-5">
  24. <div class="radio">
  25. <label>
  26. <input type="radio" name="shipping_to" value="current" checked /> Same as my account address
  27. </label>
  28. </div>
  29. <div class="radio">
  30. <label>
  31. <input type="radio" name="shipping_to" value="new" /> New address
  32. </label>
  33. </div>
  34. </div>
  35. </div>
  36. <div id="newAddress">
  37. <div class="form-group">
  38. <label class="col-lg-3 control-label">Country</label>
  39. <div class="col-lg-5">
  40. <select name="country" class="form-control" disabled>
  41. <option value="">Select a country</option>
  42. <option value="AU">Australia</option>
  43. <option value="CA">Canada</option>
  44. <option value="FR">France</option>
  45. <option value="DE">Germany</option>
  46. <option value="IT">Italy</option>
  47. <option value="JP">Japan</option>
  48. <option value="GB">United Kingdom</option>
  49. <option value="US">United States</option>
  50. <option value="VN">Viet Nam</option>
  51. </select>
  52. </div>
  53. </div>
  54. <div class="form-group">
  55. <label class="col-lg-3 control-label">Street</label>
  56. <div class="col-lg-5">
  57. <input type="text" class="form-control" name="street" disabled />
  58. </div>
  59. </div>
  60. <div class="form-group">
  61. <label class="col-lg-3 control-label">City</label>
  62. <div class="col-lg-5">
  63. <input type="text" class="form-control" name="city" disabled />
  64. </div>
  65. </div>
  66. <div class="form-group">
  67. <label class="col-lg-3 control-label">State</label>
  68. <div class="col-lg-5">
  69. <select name="state" class="form-control" disabled>
  70. <option value="">Select a state</option>
  71. <option value="AL">Alabama</option>
  72. <option value="AK">Alaska</option>
  73. <option value="AZ">Arizona</option>
  74. <option value="AR">Arkansas</option>
  75. <option value="CA">California</option>
  76. <option value="CO">Colorado</option>
  77. <option value="CT">Connecticut</option>
  78. <option value="DE">Delaware</option>
  79. <option value="DC">District of Columbia</option>
  80. <option value="FL">Florida</option>
  81. <option value="GA">Georgia</option>
  82. <option value="HI">Hawaii</option>
  83. <option value="ID">Idaho</option>
  84. <option value="IL">Illinois</option>
  85. <option value="IN">Indiana</option>
  86. <option value="IA">Iowa</option>
  87. <option value="KS">Kansas</option>
  88. <option value="KY">Kentucky</option>
  89. <option value="LA">Louisiana</option>
  90. <option value="ME">Maine</option>
  91. <option value="MD">Maryland</option>
  92. <option value="MA">Massachusetts</option>
  93. <option value="MI">Michigan</option>
  94. <option value="MN">Minnesota</option>
  95. <option value="MS">Mississippi</option>
  96. <option value="MO">Missouri</option>
  97. <option value="MT">Montana</option>
  98. <option value="NE">Nebraska</option>
  99. <option value="NV">Nevada</option>
  100. <option value="NH">New Hampshire</option>
  101. <option value="NJ">New Jersey</option>
  102. <option value="NM">New Mexico</option>
  103. <option value="NY">New York</option>
  104. <option value="NC">North Carolina</option>
  105. <option value="ND">North Dakota</option>
  106. <option value="OH">Ohio</option>
  107. <option value="OK">Oklahoma</option>
  108. <option value="OR">Oregon</option>
  109. <option value="PA">Pennsylvania</option>
  110. <option value="RI">Rhode Island</option>
  111. <option value="SC">South Carolina</option>
  112. <option value="SD">South Dakota</option>
  113. <option value="TN">Tennessee</option>
  114. <option value="TX">Texas</option>
  115. <option value="UT">Utah</option>
  116. <option value="VT">Vermont</option>
  117. <option value="VA">Virginia</option>
  118. <option value="WA">Washington</option>
  119. <option value="WV">West Virginia</option>
  120. <option value="WI">Wisconsin</option>
  121. <option value="WY">Wyoming</option>
  122. </select>
  123. <span class="help-block"><small>Required if you choose United States country</small></span>
  124. </div>
  125. </div>
  126. </div>
  127. <div class="form-group">
  128. <div class="col-lg-9 col-lg-offset-3">
  129. <button type="submit" class="btn btn-primary">Checkout</button>
  130. </div>
  131. </div>
  132. </form>
  133. </div>
  134. </section>
  135. <!-- :form -->
  136. </div>
  137. </div>
  138. <script type="text/javascript">
  139. $(document).ready(function() {
  140. $('#checkoutForm').bootstrapValidator({
  141. message: 'This value is not valid',
  142. feedbackIcons: {
  143. valid: 'glyphicon glyphicon-ok',
  144. invalid: 'glyphicon glyphicon-remove',
  145. validating: 'glyphicon glyphicon-refresh'
  146. },
  147. fields: {
  148. street: {
  149. enabled: false,
  150. validators: {
  151. notEmpty: {
  152. message: 'The street is required and cannot be empty'
  153. }
  154. }
  155. },
  156. city: {
  157. enabled: false,
  158. validators: {
  159. notEmpty: {
  160. message: 'The city is required and cannot be empty'
  161. }
  162. }
  163. },
  164. country: {
  165. enabled: false,
  166. validators: {
  167. notEmpty: {
  168. message: 'The country is required and cannot be empty'
  169. }
  170. }
  171. },
  172. state: {
  173. enabled: false,
  174. validators: {
  175. notEmpty: {
  176. message: 'The state is required and cannot be empty'
  177. }
  178. }
  179. }
  180. }
  181. });
  182. // Enable street/city/country validators if user want to ship to other address
  183. $('input[name="shipping_to"]').on('change', function() {
  184. var bootstrapValidator = $('#checkoutForm').data('bootstrapValidator'),
  185. shipNewAddress = ($(this).val() == 'new');
  186. shipNewAddress ? $('#newAddress').find('.form-control').removeAttr('disabled')
  187. : $('#newAddress').find('.form-control').attr('disabled', 'disabled');
  188. bootstrapValidator.enableFieldValidators('street', shipNewAddress)
  189. .enableFieldValidators('city', shipNewAddress)
  190. .enableFieldValidators('country', shipNewAddress)
  191. .enableFieldValidators('state', shipNewAddress && $('select[name="country"]').val() == 'US');
  192. });
  193. $('select[name="country"]').on('change', function() {
  194. var bootstrapValidator = $('#checkoutForm').data('bootstrapValidator');
  195. bootstrapValidator.enableFieldValidators('state', $(this).val() == 'US');
  196. });
  197. });
  198. </script>
  199. </body>
  200. </html>