myFormValidate.js 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /**
  2. * ajax 提交表单 到后台去验证然后回到前台提示错误
  3. * 验证通过后,再通过 form 自动提交
  4. */
  5. before_request = 1; // 标识上一次ajax 请求有没回来, 没有回来不再进行下一次
  6. function ajax_submit_form(form_id,submit_url){
  7. if(before_request == 0)
  8. return false;
  9. if (submit_url.indexOf('?') > -1) {
  10. submit_url += '&';
  11. } else {
  12. submit_url += '?';
  13. }
  14. submit_url += '_ajax=1';
  15. $("[id^='err_']").hide(); // 隐藏提示
  16. $.ajax({
  17. type : "POST",
  18. url : submit_url,
  19. data : $('#'+form_id).serialize(),// 你的formid
  20. error: function(request) {
  21. layer.alert('未知错误,无法继续!', {icon: 2, title:false});
  22. return false;
  23. },
  24. success: function(v) {
  25. before_request = 1; // 标识ajax 请求已经返回
  26. var v = eval('('+v+')');
  27. // 验证成功提交表单
  28. if(v.hasOwnProperty('status'))
  29. {
  30. //layer.alert(v.msg, {title:false});
  31. layer.msg(v.msg, {
  32. icon: 6, // 成功图标
  33. time: 1000 //2秒关闭(如果不配置,默认是3秒)
  34. }, function(){
  35. if(v.status == 1)
  36. {
  37. if(v.hasOwnProperty('data')){
  38. if(v.data.hasOwnProperty('url')){
  39. location.href = v.data.url;
  40. }else{
  41. location.href = location.href;
  42. }
  43. }else{
  44. location.href = location.href;
  45. }
  46. return true;
  47. }
  48. });
  49. if(v.status == 0)
  50. {
  51. return false;
  52. }
  53. //return false;
  54. }
  55. // 验证失败提示错误
  56. for(var i in v['data'])
  57. {
  58. $("#err_"+i).text(v['data'][i]).show(); // 显示对于的 错误提示
  59. }
  60. }
  61. });
  62. before_request = 0; // 标识ajax 请求已经发出
  63. }
  64. /**
  65. * 伪静态HTML处理
  66. * @var 网址 url
  67. */
  68. function convert_url(url){
  69. if(url){
  70. url = url.replace('.html','');
  71. }
  72. return url;
  73. }