/* * jQuery dataForAjax plug-in 1.0 * * http://www.biuuu.com/ * http://plugins.jquery.com/project/dataForAjax * * Copyright (c) 2009 biuuu.com * * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html */ jQuery.fn.dataForAjax = function(options){ var message = []; var error = []; var searchKey = ''; var key; var data = ''; var status = false; var id = "#"+this.get()[0].id; setting = jQuery.extend({ showMessage:'showmessage', message:message },options); jQuery("#"+setting.showMessage).empty(); for(key in setting.message){ searchKey +=key+','; } jQuery( id+ " :text").each(function(){ var name = jQuery(this).attr("name"); var value = jQuery(this).attr("value"); if(((searchKey.indexOf(name)) != -1) && (value == '')){ error.push(setting.message[name]); jQuery(this).focus(); status = true; return false; } data += '&'+name+'='+value; }); jQuery( id+ " :password").each(function(){ var name = jQuery(this).attr("name"); var value = jQuery(this).attr("value"); if(((searchKey.indexOf(name)) != -1) && (value == '')){ error.push(setting.message[name]); jQuery(this).focus(); status = true; return false; } data += '&'+name+'='+value; }); jQuery( id+ " textarea").each(function(){ var name = jQuery(this).attr("name"); var value = jQuery(this).val(); if(((searchKey.indexOf(name)) != -1) && (value == '')){ error.push(setting.message[name]); jQuery(this).focus(); status = true; return false; } data += '&'+name+'='+value; }); jQuery( id+ " :radio:checked").each(function(){ var name = jQuery(this).attr("name"); var value = jQuery(this).attr("value"); if(((searchKey.indexOf(name)) != -1) && (value == '')){ error.push(setting.message[name]); jQuery(this).focus(); status = true; return false; } data += '&'+name+'='+value; }); jQuery( id+ " :checkbox:checked").each(function(){ var name = jQuery(this).attr("name"); var value = jQuery(this).attr("value"); if(((searchKey.indexOf(name)) != -1) && (value == '')){ error.push(setting.message[name]); jQuery(this).focus(); status = true; return false; } data += '&'+name+'='+value; }); jQuery( id+ " select option:selected").each(function(){ var name = jQuery(this).parent("select").attr("name"); var value = jQuery(this).attr("value"); if(((searchKey.indexOf(name)) != -1) && (value == '')){ error.push(setting.message[name]); jQuery(this).focus(); status = true; return false; } data += '&'+name+'='+value; }); jQuery( id+ " :hidden").each(function(){ var name = jQuery(this).attr("name"); var value = jQuery(this).attr("value"); if(((searchKey.indexOf(name)) != -1) && (value == '')){ error.push(setting.message[name]); jQuery(this).focus(); status = true; return false; } data += '&'+name+'='+value; }); if(status){ jQuery("#"+setting.showMessage).html(error.join(",")); return ''; } return data; }