jquery.dataForAjax.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. /*
  2. * jQuery dataForAjax plug-in 1.0
  3. *
  4. * http://www.biuuu.com/
  5. * http://plugins.jquery.com/project/dataForAjax
  6. *
  7. * Copyright (c) 2009 biuuu.com
  8. *
  9. * Dual licensed under the MIT and GPL licenses:
  10. * http://www.opensource.org/licenses/mit-license.php
  11. * http://www.gnu.org/licenses/gpl.html
  12. */
  13. jQuery.fn.dataForAjax = function(options){
  14. var message = [];
  15. var error = [];
  16. var searchKey = '';
  17. var key;
  18. var data = '';
  19. var status = false;
  20. var id = "#"+this.get()[0].id;
  21. setting = jQuery.extend({
  22. showMessage:'showmessage',
  23. message:message
  24. },options);
  25. jQuery("#"+setting.showMessage).empty();
  26. for(key in setting.message){
  27. searchKey +=key+',';
  28. }
  29. jQuery( id+ " :text").each(function(){
  30. var name = jQuery(this).attr("name");
  31. var value = jQuery(this).attr("value");
  32. if(((searchKey.indexOf(name)) != -1) && (value == '')){
  33. error.push(setting.message[name]);
  34. jQuery(this).focus();
  35. status = true;
  36. return false;
  37. }
  38. data += '&'+name+'='+value;
  39. });
  40. jQuery( id+ " :password").each(function(){
  41. var name = jQuery(this).attr("name");
  42. var value = jQuery(this).attr("value");
  43. if(((searchKey.indexOf(name)) != -1) && (value == '')){
  44. error.push(setting.message[name]);
  45. jQuery(this).focus();
  46. status = true;
  47. return false;
  48. }
  49. data += '&'+name+'='+value;
  50. });
  51. jQuery( id+ " textarea").each(function(){
  52. var name = jQuery(this).attr("name");
  53. var value = jQuery(this).val();
  54. if(((searchKey.indexOf(name)) != -1) && (value == '')){
  55. error.push(setting.message[name]);
  56. jQuery(this).focus();
  57. status = true;
  58. return false;
  59. }
  60. data += '&'+name+'='+value;
  61. });
  62. jQuery( id+ " :radio:checked").each(function(){
  63. var name = jQuery(this).attr("name");
  64. var value = jQuery(this).attr("value");
  65. if(((searchKey.indexOf(name)) != -1) && (value == '')){
  66. error.push(setting.message[name]);
  67. jQuery(this).focus();
  68. status = true;
  69. return false;
  70. }
  71. data += '&'+name+'='+value;
  72. });
  73. jQuery( id+ " :checkbox:checked").each(function(){
  74. var name = jQuery(this).attr("name");
  75. var value = jQuery(this).attr("value");
  76. if(((searchKey.indexOf(name)) != -1) && (value == '')){
  77. error.push(setting.message[name]);
  78. jQuery(this).focus();
  79. status = true;
  80. return false;
  81. }
  82. data += '&'+name+'='+value;
  83. });
  84. jQuery( id+ " select option:selected").each(function(){
  85. var name = jQuery(this).parent("select").attr("name");
  86. var value = jQuery(this).attr("value");
  87. if(((searchKey.indexOf(name)) != -1) && (value == '')){
  88. error.push(setting.message[name]);
  89. jQuery(this).focus();
  90. status = true;
  91. return false;
  92. }
  93. data += '&'+name+'='+value;
  94. });
  95. jQuery( id+ " :hidden").each(function(){
  96. var name = jQuery(this).attr("name");
  97. var value = jQuery(this).attr("value");
  98. if(((searchKey.indexOf(name)) != -1) && (value == '')){
  99. error.push(setting.message[name]);
  100. jQuery(this).focus();
  101. status = true;
  102. return false;
  103. }
  104. data += '&'+name+'='+value;
  105. });
  106. if(status){
  107. jQuery("#"+setting.showMessage).html(error.join(","));
  108. return '';
  109. }
  110. return data;
  111. }