; function jxFormData(p) { var list = {}; jQuery('input[name], select[name], textarea[name]', p).each(function(i, v){ if (jQuery(v).is('input[type="radio"]')) { if (jQuery(v).is(':checked')) { list[jQuery(v).attr('name')] = jQuery(v).val(); } else { // Not save value for unchecked radio } } else { if (jQuery(v).is('input[type="checkbox"]')) { list[jQuery(v).attr('name')] = jQuery(v).is(':checked') ? jQuery(v).val() : 0; } else { list[jQuery(v).attr('name')] = jQuery(v).val(); } } }); return list; } function jxAction(action, data, cb) { data['jx_action'] = action; jQuery.ajax({ url: wpjxm_ajaxurl, method: 'POST', data: {'action': wpjxm_action, '__xr':1, 'z':JSON.stringify(data)}, success: function(jx) { var ret = true; if ((typeof cb !== 'undefined') && (cb)) { var vars = {}; for (var i = 0; i < jx.length; i ++) { switch (jx[i][0]) { case 'vr': vars[jx[i][1]] = jx[i][2]; break; } } ret = cb(vars); } if ((ret) || (typeof ret === 'undefined')) { for (var i = 0; i < jx.length; i ++) { var jd = jx[i]; switch (jd[0]) { case 'cn': console.log(jd[1]); break; case 'al': alert(jd[1]); break; case 'as': if (jQuery(jd[1]).length > 0) { jQuery(jd[1]).html(jd[2]); } break; case 'js': eval(jd[1]); break; case 'rd': document.location.href = jd[1]; break; case 'rl': window.location.reload(); break; } } } }, error: function() { console.log('Wrong jx JSON response (not JSON)'); }, dataType: 'json' }); }