applyVerify.js 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. // 报名调用方法
  2. /*--------------------------------- HTML 说明 --------------------------------------------------------*/
  3. /*
  4. * HTML 添加的样式 form中添加submit_area样式
  5. * 提交按钮添加apply_submit样式
  6. * */
  7. // <form class="submit_area">
  8. // <div class="y_reduced_left">
  9. // <input type="hidden" name="aid" value="0">
  10. // <input name="telecall" type="text" class="y_input_name" placeholder="您的称呼">
  11. // <input name="mobile" type="text" class="y_input_mobile" placeholder="您的电话">
  12. // <input type="button" class="y_input_submit apply_submit" value="提 交">
  13. // </div>
  14. // </form>
  15. /*---------------------------------- 报名提交调用方法 -------------------------------------------------------*/
  16. /*
  17. * 调用的方法
  18. * */
  19. // PublicAction.AjaxSend(
  20. // {
  21. // CORID:'apply_submit', /*操作ID*/
  22. // }
  23. // );
  24. /*----------------------------------- 隐藏 input 传值的说明 ------------------------------------------------------*/
  25. /*
  26. * aid 楼盘ID ( 属于楼盘为楼盘ID,不属于楼盘为公共报名为0 )
  27. * SourceModule 来源ID ( 来源哪个页面的哪个报名窗口 )
  28. * equipment 来源设备 ( PC端 P 或 2,手机端 M 或 1 )
  29. *
  30. *
  31. * */
  32. /*----------------------------------- SourceModule 标识说明 -----------------------------------------------------*/
  33. /* <--- pc 端 --->
  34. * 0 => 列表-降价通知
  35. * <--- 手机端 --->
  36. * 0 => 楼盘首页-优惠获取
  37. *
  38. *
  39. * */
  40. /*---------------------------弹窗调用的方法说明-----------------------------------------------*/
  41. /*
  42. * http://www.jq22.com/yanshi15047
  43. */
  44. /*------------------------------------以下是封装的方法-----------------------------------------------------*/
  45. var PublicAction = {
  46. /* AjaxSend-----Ajax发送*/
  47. "AjaxSend" :function(e,fnEnd){
  48. var self = this, result;
  49. // 获取
  50. var oid = e.CORID, //ID
  51. url = '/enroll/signup', //提交地址
  52. type = "POST", //提交方式
  53. async = true; //同步或异步
  54. //点击提交按钮触发事件
  55. $('.'+ oid).on('click',function(){
  56. var $than =$(this);
  57. $than.attr('disabled','disabled');
  58. var that = $(this).parents('form.submit_area'); //获取当前父层
  59. var data = {}, //定义一个对象
  60. ControlSwitch = true; //定义一个开关
  61. that.find('input').each(function () { //遍历父层中所有input
  62. var name = $(this).attr('name'); //当前input 中有name属性
  63. if(typeof name == 'string'){ //input 标签中有name属性才进行以下操作
  64. var txt = $(this).val(); //input 值
  65. var InputName = $(this).attr('name'); //属于 name 的值
  66. txt = self.FilterHTMLTag(txt); //去掉标签
  67. /* 验证电话码号 */
  68. if(InputName == 'mobile'){
  69. if(txt != ""){
  70. if(! self.PhoneVerification(txt)){ //验证电话号码
  71. // 特殊处理
  72. $('body .alert-container').remove(); //删除尾部添加弹窗
  73. self.hint('请输入正确的手机号码!');
  74. $than.removeAttr('disabled');
  75. ControlSwitch = false; //开关为false
  76. return false;
  77. }
  78. }else {
  79. $('body .alert-container').remove(); //删除尾部添加弹窗
  80. self.hint('请输入正确的手机号码!');
  81. $than.removeAttr('disabled');
  82. ControlSwitch = false; //开关为false
  83. return false;
  84. }
  85. }
  86. data[InputName]=txt;
  87. }
  88. })
  89. if(ControlSwitch){ //当电话号码验证不通过时,不执行以下操作
  90. $.ajax({
  91. type:type,
  92. url:url,
  93. data:data,
  94. async:async,
  95. dataType:'json',
  96. error : function(request) {
  97. // alert("未提交成功!");
  98. // 特殊处理
  99. $('body .alert-container').remove(); //删除尾部添加弹窗
  100. self.hint('未提交成功!');
  101. $than.removeAttr('disabled');
  102. // RemoveDiv(); //数据提交成功后关闭弹出层 测试用
  103. },
  104. success : function(data) {
  105. $('body .alert-container').remove(); //删除尾部添加弹窗
  106. var msg = data.msg;
  107. if(data.code == 200){
  108. /* 处理楼盘首页 视频报名
  109. * 这里需要把一个参数存COOKIE
  110. */
  111. if(oid == 'ybm_buttom'){
  112. console.log(1111)
  113. var _power = $('.'+oid).attr('data-power');
  114. if(_power){
  115. cookie.set("authorization",w_id,24); //设置为24天过期
  116. $('body #lpvideo').attr('data-boole','false');
  117. }
  118. $('body .liveBm').hide();
  119. $('body .liveBm_bg').hide();
  120. }
  121. /*判断调方法时,是否传回调方法;有则执行,否执行默认方法*/
  122. fnEnd ? fnEnd() : self.hint(data.msg);
  123. RemoveDiv(); //数据提交成功后关闭弹出层
  124. $than.removeAttr('disabled');
  125. }else{
  126. msg = ReturnInfo(data.data);
  127. /*判断调方法时,是否传回调方法;有则执行,否执行默认方法*/
  128. fnEnd ? fnEnd() : self.hint(data.msg);
  129. $than.removeAttr('disabled');
  130. return ;
  131. }
  132. }
  133. });
  134. event.preventDefault(); //阻止form表单默认提交
  135. return false;
  136. }
  137. })
  138. },
  139. /*-----------------------------------------------------------------------------------------*/
  140. /* 过滤代码标签 */
  141. "FilterHTMLTag" : function(htmlStr){
  142. var msg = htmlStr.replace(/<\/?[^>]*>/g, ''); //去除HTML Tag
  143. return msg;
  144. },
  145. /*-----------------------------------------------------------------------------------------*/
  146. /* 电话验证 */
  147. "PhoneVerification" : function (tel) {
  148. var pattern = /(13\d|14[57]|15[^4,\D]|17[678]|18\d)\d{8}$|170[059]\d{7}$/,
  149. str = tel;
  150. return pattern.test(tel);
  151. },
  152. /*-----------------------------------------------------------------------------------------*/
  153. /* 提示方法优化 */
  154. "hint":function(txt){
  155. /*调用方法*/
  156. var M = {};
  157. if(M.dialog1){
  158. return M.dialog1.show();
  159. }
  160. M.dialog1 = jqueryAlert({
  161. 'content' : txt, //txt 提示内容
  162. 'closeTime' : 2000,
  163. })
  164. },
  165. }
  166. $(function(){
  167. //报名验证及提交的调用
  168. PublicAction.AjaxSend(
  169. {
  170. CORID:'apply_submit', /*操作ID*/
  171. }
  172. );
  173. })