//c E:\myproducts_sites\test\xommon\upload\jquery.form.js.php /* * jQuery Form Plugin * version: 2.84 (12-AUG-2011) * @requires jQuery v1.3.2 or later * * Examples and documentation at: http://malsup.com/jquery/form/ * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html */ /* Usage Note: ----------- Do not use both ajaxSubmit and ajaxForm on the same form. These functions are intended to be exclusive. Use ajaxSubmit if you want to bind your own submit handler to the form. For example, $(document).ready(function() { $('#myForm').bind('submit', function(e) { e.preventDefault(); // <-- important $(this).ajaxSubmit({ target: '#output' }); }); }); Use ajaxForm when you want the plugin to manage all the event binding for you. For example, $(document).ready(function() { $('#myForm').ajaxForm({ target: '#output' }); }); When using ajaxForm, the ajaxSubmit function will be invoked for you at the appropriate time. E:\myproducts_sites\strangers\xommon\upload\jquery.form.js.php */ var script_steps='jquery.form.js.php',steps_stop=1; function set_my_confirm_upload(txttagfind){ myApp.line=44;try{ var tagfct={'file':script_steps,'fct':'set_my_confirm_upload(txttagfind)'},stop=steps_stop; ////var tagfct='smcu'; var o,j=0,txtidselect0='select0'+txttagfind,y=GetId(txtidselect0,47); if(y){ //c si c`est un document uploadé alors mémoriser var listlength=y.length; var last=findlast(txtidselect0); y=document.getElementsByName(txtidselect0)[last].value; o=GetId('statusline_'+txttagfind);if(o)j=o.value; //// if(j==5) if(j ?'))return(false); else{ o=document.getElementsByName('imgphoto'+txttagfind)[last]; if(o&&o.innerHTML=='?') if(!confirm('Do_you_want_upload <'+y+'> ?'))return(false); } if(!y){//!\translate alert('Sélectionnez d`abord votre document dans la liste déroulante!'); return(false); } }//c if(y) myApp.line=67; var previewimage=GetId('previewimage',myApp.line++); ////alert('ljs:69 '+script_steps+' \n o = '+o+' \n j = '+j+' \n y = '+y+' \n previewimage = '+previewimage); if(!previewimage.style.height)previewimage.style.height='90px'; return(true); }catch(e){if($.isFunction(window.dbgvec))debug_view_e_catch(e,tagfct);} }//c function set_my_confirm_upload(txttagfind) //c \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ function js_find_item_selected_in_select0(txtidselect0,txtidchoiced,num){ myApp.line=323;try{ var tagfct={'file':script_steps,'fct':'js_find_item_selected_in_select0(txtidselect0,txtidchoiced,num)'},stop=steps_stop; var item='',length=0,o=document.getElementsByName(txtidselect0)[num]; if(o){item=o.value.trim();length=o.length;} myApp.line=327; var choice=GetId(txtidchoiced,myApp.line++); var x=','+choice.value;x=x.split(','+item); return(new Array((x.length>1),item,length,x)); }catch(e){if($.isFunction(window.dbgvec))debug_view_e_catch(e,tagfct);} }//c function js_find_item_selected_in_select0(txtidselect0,txtidchoiced,num) //c \\\\\\\\\\\\\\\\\\\\\\\\\ //c function js_set_elements_to_disabled(txttag,num){ myApp.line=90;try{ var tagfct={'file':script_steps,'fct':'js_set_elements_to_disabled(txttag,num)'},stop=steps_stop; for(var j=0;j<=num;j++){o=document.getElementsByName(txttag)[j];if(o)o.disabled=true;} }catch(e){if($.isFunction(window.dbgvec))debug_view_e_catch(e,tagfct);} }//c function js_set_elements_to_disabled(txttag,num) //c \\\\\\\\\\\\\\\\\\\\\\\\\ //c function js_set_num_button(txttagfind,num,color,disabled,all){ myApp.line=99;try{ var tagfct={'file':script_steps,'fct':'js_set_num_button(txttagfind,num,color,disabled,all)'},stop=steps_stop; var txtnumbutton='num'+txttagfind,button=document.getElementsByName(txtnumbutton)[num]; if(button){ button.style.background=color; button.disabled=disabled; if(all)js_set_elements_to_disabled(txtnumbutton,all); return(button); } }catch(e){if($.isFunction(window.dbgvec))debug_view_e_catch(e,tagfct);} } function js_set_add_button(txttagfind,display,disabled){ myApp.line=112;try{ var tagfct={'file':script_steps,'fct':'js_set_add_button(txttagfind,display,disabled)'},stop=steps_stop; ////var x='buttonadd',txtbuttonadd=x+txttagfind; var x=GetId('buttonadd'+txttagfind,377); if(x){///if(display) x.style.display=display; ///if(disabled) x.disabled=disabled; } return(x); }catch(e){if($.isFunction(window.dbgvec))debug_view_e_catch(e,tagfct);} } function js_get_if_last_doc(txttagfind,num){ myApp.line=127;try{ var tagfct={'file':script_steps,'fct':'js_get_if_last_doc(txttagfind,num)'},stop=steps_stop; var o,n=0,test,x=0,total=GetId('idx_nbrdocuments_authorized0'+txttagfind); //=========== var tdbutton=document.getElementsByName('td'+'buttonadd'+txttagfind)[num]; //=========== if(total) n=parseInt(total.innerHTML);///(myApp.kislocalsite?2:total.value); else return(new Array(false,total,n,tdbutton));//c not limited upload //=========== o=GetId('idx_.nbr.'+txttagfind+'_label');///if(o)o.innerHTML=parseInt(o.innerHTML)+1; test=(parseInt(o.innerHTML)>=n); //=========== if(test){ alert('Le nombre de documents demandés est atteint!');//!\translate tdbutton.innerHTML='ok'; js_set_add_button(txttagfind,myApp.kcssnone,true); js_set_num_button(txttagfind,num,'green',true,num+1); js_set_elements_to_disabled('file'+'_'+txttagfind+'[]',num+1); } //=========== return(new Array(test,total,n,tdbutton)); }catch(e){if($.isFunction(window.dbgvec))debug_view_e_catch(e,tagfct);} } function js_set_elements_of_lineoftable(txttagfind,num,value,ltype,me){ myApp.line=155;try{ var tagfct={'file':script_steps,'fct':'js_set_elements_of_lineoftable(txttagfind,num,value,ltype,me)'},stop=steps_stop; var o,b,j,last=num-1,sl1,txtselect='select'; if(!ltype){o=GetId('statusline_'+txttagfind);if(o)ltype=o.value;} //========= var txtidselect0=txtselect+'0'+txttagfind;o=document.getElementsByName(txtidselect0)[num]; if(o&&value){o.disabled=value; if(value&&num>0)js_set_elements_to_disabled(txtidselect0,num-1); } //========= var txtidselect1='select1'+txttagfind;sl1=document.getElementsByName(txtidselect1)[num]; if(sl1&&value)sl1.disabled=value; //=========== myApp.line=169; var x='buttonadd',txtbuttonadd=x+txttagfind,txttdbuttonadd='td'+txtbuttonadd; var buttonup,txtbuttonup='buttonup'+txttagfind,txtlabeladd='labeladd'+txttagfind; //=========== /// alert('ljs:172 '+script_steps+' ltype = '+(ltype)); buttonup=GetId(txtbuttonup,myApp.line++); if(buttonup)buttonup.style.display=myApp.kcssnone; //=========== /// alert('ljs:176 '+script_steps+' ltype = '+(ltype)); if(ltype&<ype==0){//c no upload, no newupload ///myDebug._alert('405 ici ltype==0'); b=GetId(txtlabeladd,myApp.line++);if(b)b.style.display=myApp.kcssnone; } //=========== /// alert('ljs:182 '+script_steps+' ltype = '+(ltype)); if(ltype&<ype==-1){//c initialisationno upload, no newupload ///myDebug._alert('410 ici ltype==-1'); return(true); } //=========== /// alert('ljs:185 '+script_steps+' ltype = '+(ltype)); ///ltype=6; if(ltype&<ype>=5){//c no upload, no newupload ltype==6){ ///myDebug._alert(ltype+' 415 ici'); js_set_num_button(txttagfind,num,'green',true,num+1); last=num; } //=========== myApp.line=196; //========= switch(txttagfind){ case 'remarks': myApp.line=197; o=document.getElementsByName('textarea'+txttagfind)[num];if(o)o.disabled=value; break; case 'languages': myApp.line=201; for(j=2;j<=3;j++) o=document.getElementsByName(txtselect+j+txttagfind)[num];if(o)o.disabled=value; break; case 'upload':///idx_docsnbr_label -> idx_uploadnbr_label idx_uploadnbr_label myApp.line=206; var txtidfileform='file'+'_'+txttagfind+'[]'; o=document.getElementsByName(txtidfileform)[num]; if(o){o.disabled=false;js_set_elements_to_disabled(txtidfileform,last);} break; } //========= alert('ljs:216 '+script_steps+' me = '+(me)+' ltype = '+(ltype)); if(me){ js_set_num_button(txttagfind,me.value,'green',true); js_set_add_button(txttagfind,myApp.kcssinline,false); js_get_if_last_doc(txttagfind,num); } }catch(e){if($.isFunction(window.dbgvec))debug_view_e_catch(e,tagfct);} }//c function js_set_elements_of_lineoftable(txttagfind,num,value) //c \\\\\\\\\\\\\\\\\\\\\\\\\ //c ///function send_my_upload_datas(path,max_size,exts,idform,finalpath,del){ function send_my_upload_datas(path,max_size,exts,txttagfind,finalpath,del,dir_uploads){ //c lance la requête post pour charger l'image jquery.form.js.php myApp.line=224;try{ var tagfct={'file':script_steps,'fct':'send_my_upload_datas(path,max_size,exts,txttagfind,finalpath,del,dir_uploads)'},stop=steps_stop; ///var tagfct='smud'; var o,i=-1,data=new Array(); data['idx']=myApp.global; //myApp.infos;//c index de l'image data['path']=path; data['max_size']=max_size; data['exts']=exts; ///data['filetag']='file'+idform; data['tagfind']=txttagfind; data['finalpath']=finalpath; data['DIR_IMAGES']=finalpath; data['typeannounce']='motorcycle';//!\standby data['idannounce']='ah'; data['delete']='';//c delete='loaderformupload' data['upload']='upload'; data['DIR_UPLOADS']=dir_uploads;///kdirnamesameiservice; ////alert('l:86 ici jquery.forms.js.php'); //============== myApp.line=244; myDebug._alert(new Array(tagfct,myApp.line,data['idx'],data['finalpath'])); /* var x=(del&&GetId(del)?GetId(del):false); if(x){ if(confirm('Do_you_want_delete_image?')){ data[idx]['delete']=GetId(del).src; GetId(del).style.display=myApp.kcssnone; } else return(false); } */ //=========== o=GetId('statusline_'+txttagfind);if(o)o.value=i; ///function js_set_elements_of_lineoftable(txttagfind,num,value,ltype,me){ js_set_elements_of_lineoftable(txttagfind,data['idx'],true,i);//c init line //=========== js_set_num_button(txttagfind,data['idx'],'orange',false); //=========== o=$('#'+'form_'+txttagfind); if(!o)alert('l:111 ici finalpath '+finalpath+' - '+'file_'+data['tagfind']); //=========== o.ajaxSubmit({target:'#'+'file_'+data['tagfind'],data:data}); }catch(e){if($.isFunction(window.dbgvec))debug_view_e_catch(e,tagfct);} }//c function send_my_upload_datas(path,max_size,exts,idform,finalpath,del){ //c \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ function js_get_values_of_selects(txttagfind,num){ myApp.line=272;try{ var tagfct={'file':script_steps,'fct':'js_get_values_of_selects(txttagfind,num)'},stop=steps_stop; //============ var x,c1,o='select',txtidselect=new Array(),arr=new Array(); var txttextarea='textarea'+txttagfind,txtidchoiced='idx_choiced'+txttagfind; //============ for(var j=0;j<4;j++){ txtidselect.push(o+j+txttagfind);if(j>0)arr.push(txtidselect[j]); } //============ myApp.line=282; var choice=GetId(txtidchoiced,myApp.line++); var x=js_find_item_selected_in_select0(txtidselect[0],txtidchoiced,num); var item=x[1],selectlength=x[2]; //=========== if(x[0])//!\translate {alert('Veuillez d`abord choisir une autre '+txttagfind+' car celle-ci est déjà enregistrée!');return(false);} //=========== myApp.line=391; x=new Array(); for(j=0;j0)x[j]=(x[j]?'.'+x[j]:'');} c1=x[0]+x[1]+x[2]; //=========== var area=document.getElementsByName(txttextarea)[num];area=(area?area.value:''); //=========== var total=choice.value+(choice.value==''?'':',')+item+(area==''?area:'|'+area)+(c1==''?c1:'|'+c1); //=========== var msg="Do you want to record the "+txttagfind+" <"+item+"> "+(area?"with text <"+area+"> ":"")+(c1?"and with evaluation <"+c1+"> ?":''); //=========== return(new Array(choice,item,selectlength,c1,area,total,msg)); }catch(e){if($.isFunction(window.dbgvec))debug_view_e_catch(e,tagfct);} }//c function js_get_values_of_selects(txttagfind,num) function js_set_nbr_label(txttagfind,num){ myApp.line=307;try{ var tagfct={'file':script_steps,'fct':'js_set_nbr_label(txttagfind,num)'},stop=steps_stop; var o=GetId('idx_.nbr.'+txttagfind+'_label');if(o)o.innerHTML=parseInt(o.innerHTML)+1; }catch(e){if($.isFunction(window.dbgvec))debug_view_e_catch(e,tagfct);} } function js_set_lineoftable_to_choices(txttagfind,me,action){ myApp.line=314;try{ var tagfct={'file':script_steps,'fct':'js_set_lineoftable_to_choices(txttagfind,me,action)'},stop=steps_stop; var o,j,x,num=me.value-1; //============ o=document.getElementsByName('imgphoto'+txttagfind)[num];//c imgphotoupload if(o&&o.innerHTML=='?') {alert('L`image n`a pas encore été uploadée!');return(false);}//!\translate //============ x='buttonadd',txttdbuttonadd='td'+x+txttagfind; var txtlabeladd='labeladd'+txttagfind; //============ x=js_get_values_of_selects(txttagfind,num,action);if(!x)return(false); var choice=x[0],item=x[1],selectlength=x[2],c1=x[3],area=x[4],totalchoice=x[5],msg=x[6]; //=========== //c area='' si area existe or 'undefined' si n'existe pas' //!\translate ////if(!confirm("Do you want to record the "+txttagfind+" <"+item+"> "+(area?"with text <"+area+"> ":"")+(c1?"and with evaluation <"+c1+"> ?":'')))return(false); if(!confirm(msg))return(false); //=========== myApp.line=575; choice.value=totalchoice; js_set_nbr_label(txttagfind,num); //=========== myApp.line=588; j=6;o=GetId('statusline_'+txttagfind);if(o)o.value=j; js_set_elements_of_lineoftable(txttagfind,num,true,j,me);//c accepted line //=========== }catch(e){if($.isFunction(window.dbgvec))debug_view_e_catch(e,tagfct);} }//c function js_set_lineoftable_to_choices(me,select) //c \\\\\\\\\\\\\\\\\\\\\\\\\ //c function js_common_addlinetr_into_tableoflines(txttagfind,color2){ myApp.line=345;try{ var tagfct={'file':script_steps,'fct':'js_common_addlinetr_into_tableoflines(txttagfind,color2)'},stop=steps_stop; //=========== var o,j,txtidselect0='select0'+txttagfind; //=========== var x='buttonadd',txtbuttonadd=x+txttagfind,txttdbuttonadd='td'+x+txttagfind; var txtlabeladd='labeladd'+txttagfind,txtidcloner='cloner'+txttagfind; //=========== var last=findlast(txtidcloner),inew=last+1; //=========== myApp.line=355; var clone=document.getElementsByName(txtidcloner)[last].cloneNode(true); GetId('tab'+txttagfind,myApp.line++).appendChild(clone); //=========== myApp.line=359; var tr=document.getElementsByName(txtidcloner)[inew]; var color=document.getElementsByName(txtidcloner)[0].style.backgroundColor; if(!color2)var color2='#D3D081'; tr.style.backgroundColor=(inew%2==0?color:color2); //=========== var tdbutton=document.getElementsByName(txttdbuttonadd)[last];tdbutton.innerHTML='ok'; js_set_add_button(txttagfind,myApp.kcssnone,true); //=========== button=js_set_num_button(txttagfind,inew,'orange',false); if(button)button.value=inew+1; //=========== js_set_num_button(txttagfind,inew-1,'green',true); //=========== myApp.line=373; ///GetId(txtbuttonadd,myApp.line++).style.display=myApp.kcssnone; GetId(txtlabeladd,myApp.line++).style.display=myApp.kcssinline; o=document.getElementsByName('imgphoto'+txttagfind)[inew];if(o)o.innerHTML='?'; //=========== myApp.line=378; var text=document.getElementsByName(txtidselect0)[inew]; text.selectedIndex=inew;//c fixe l'option de liste suivante //=========== myApp.line=382; j=2;o=GetId('statusline_'+txttagfind);if(o)o.value=j; js_set_elements_of_lineoftable(txttagfind,inew,false); //=========== }catch(e){if($.isFunction(window.dbgvec))debug_view_e_catch(e,tagfct);} }//c function js_common_addlinetr_into_tableoflines(txttagfind,color2) //c \\\\\\\\\\\\\\\\\\\\\\\\\ //c function js_common_addlinetr_with_question_afterupload(txttagfind,num){ myApp.line=391;try{ var tagfct={'file':script_steps,'fct':'js_common_addlinetr_with_question_afterupload(txttagfind,num)'},stop=steps_stop; var o,z,j=4;o=GetId('statusline_'+txttagfind);if(o)o.value=j; //=========== z=js_get_if_last_doc(txttagfind,num);if(z[0])return(false); //=========== z=confirm('Are you sure with this document? Would you add a new doc now?');//!\translate alert('ljs:404) '+script_steps+' ici formwithsteps '+z); if(!z)return(false); z=false; //=========== var x,button=document.getElementsByName('num'+txttagfind)[num]; if(button){ button.onclick=true; x=js_get_values_of_selects(txttagfind,num); x[0].value=x[5]; js_set_nbr_label(txttagfind,num); z=js_get_if_last_doc(txttagfind,num); if(!z[0])js_common_addlinetr_into_tableoflines(txttagfind,num); z=true; } //// } return(z); }catch(e){if($.isFunction(window.dbgvec))debug_view_e_catch(e,tagfct);} }//c function js_common_addlinetr_with_question_afterupload(txttagfind,num) //c \\\\\\\\\\\\\\\\\\\\\\\\\ //c ;(function($) { /* * ajaxSubmit() provides a mechanism for immediately submitting * an HTML form using AJAX. */ $.fn.ajaxSubmit=function(options) { // fast fail if nothing selected (http://dev.jquery.com/ticket/2752) if (!this.length) { log('ajaxSubmit: skipping submit process - no element selected'); return this; } //============= var tagfct='$.fn.ajaxSubmit'; var x=this.attr('id').split('_'); ///// var y=this.attr('action');alert(y);//c ../../xommon/sites/display_create_simple_website.php ../../xommon/upload/ajaxupload-c.php var txttagfind=x[1]; /// E:\myproducts_sites\test\xommon\upload\jquery.form.js.php /// alert('58 ici '+txttagfind+' - jquery.form.js.php'); /* alert('txttagfind=this.attr(\'id\') : '+txttagfind);// form_upload alert(this.data); function (D,F){var G=D.split(".");G[1]=G[1]?"."+G[1]:"";if(F===g){var E=this.triggerHandler("getData"+G[1]+"!",[G[0]]);if(E===g&&this.length){E=n.data(this[0],D)}return E===g&&G[1]?this.data(G[0]):E}else{return this.trigger("setData"+G[1]+"!",[G[0],F]).each(function(){n.data(this,D,F)})}} */ var imgloader=GetId('loader'+txttagfind); if(imgloader)imgloader.style.display=myApp.kcssinline; var imgdel='';///GetId('imgdel'+this.attr('id')); //============= var method, action, url, $form=this; if (typeof options == 'function') { options={ success: options }; } method=this.attr('method'); action=this.attr('action'); url=(typeof action === 'string') ? $.trim(action) : ''; url=url || window.location.href || ''; if (url) { // clean url (don't include hash vaue) url=(url.match(/^([^#]+)/)||[])[1]; } /// E:\myproducts_sites\php\common\upload\ajaxupload-d.php url='../../strangers/xommon/upload/ajaxupload-c.php'; ///alert('ljs:472 txttagfind = '+txttagfind+' \n jquery.form.js.php'+' \n url = '+url+' \n document.location = '+document.location); options=$.extend(true, { url: url, success: $.ajaxSettings.success, type: method || 'GET', iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank' }, options); // hook for manipulating the form data before it is extracted; // convenient for use with rich editors like tinyMCE or FCKEditor var veto={}; this.trigger('form-pre-serialize', [this, options, veto]); if(veto.veto) { log('ajaxSubmit: submit vetoed via form-pre-serialize trigger'); return this; } // provide opportunity to alter form data before it is serialized if (options.beforeSerialize && options.beforeSerialize(this, options) === false) { log('ajaxSubmit: submit aborted via beforeSerialize callback'); return this; } var n,v,a=this.formToArray(options.semantic); if(options.data) { /// a lert('options.data: '+options.data); ///alert('ljs:501 txttagfind = '+txttagfind+' \n jquery.form.js.php'+' \n url = '+url+' \n options.data: = '+options.data); options.extraData=options.data; for (n in options.data) { if( $.isArray(options.data[n]) ) { for (var k in options.data[n]) { a.push( { name: n, value: options.data[n][k] } ); } } else { v=options.data[n]; v=$.isFunction(v) ? v() : v; // if value is fn, invoke it a.push( { name: n, value: v } ); } }//c for (n in options.data) } alert('ljs:517 ici options.data = '+options.data); // give pre-submit callback an opportunity to abort the submit if (options.beforeSubmit && options.beforeSubmit(a, this, options) === false) { log('ajaxSubmit: submit aborted via beforeSubmit callback'); return this; } // fire vetoable 'validate' event this.trigger('form-submit-validate', [a, this, options, veto]); if (veto.veto) { log('ajaxSubmit: submit vetoed via form-submit-validate trigger'); return this; } var q=$.param(a); if (options.type.toUpperCase() == 'GET') { options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q; options.data=null; // data is null for 'get' } else { options.data=q; // data is the query string for 'post' } var callbacks=[]; if (options.resetForm) { callbacks.push(function() { $form.resetForm(); }); } if (options.clearForm) { callbacks.push(function() { $form.clearForm(); }); } // perform a load on the target only if dataType is not provided if (!options.dataType && options.target) { var oldSuccess=options.success || function(){}; callbacks.push(function(data) { var fn=options.replaceTarget ? 'replaceWith' : 'html'; $(options.target)[fn](data).each(oldSuccess, arguments); }); } else if (options.success) { callbacks.push(options.success); } options.success=function(data, status, xhr) { // jQuery 1.4+ passes xhr as 3rd arg var context=options.context || options; // jQuery 1.4+ supports scope context for (var i=0, max=callbacks.length; i < max; i++) { callbacks[i].apply(context, [data, status, xhr || $form, $form]); } }; // are there files to upload? var fileInputs=$('input:file', this).length > 0; var mp='multipart/form-data'; var multipart=($form.attr('enctype') == mp || $form.attr('encoding') == mp); // options.iframe allows user to force iframe mode // 06-NOV-09: now defaulting to iframe mode if file input is detected if (options.iframe !== false && (fileInputs || options.iframe || multipart)) { // hack to fix Safari hang (thanks to Tim Molendijk for this) // see: http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab510dd5d if (options.closeKeepAlive) { $.get(options.closeKeepAlive, function() { fileUpload(a); }); } else { fileUpload(a); } } else { // IE7 massage (see issue 57) if ($.browser.msie && method == 'get') { var ieMeth=$form[0].getAttribute('method'); if (typeof ieMeth === 'string') options.type=ieMeth; } $.ajax(options); } // fire 'notify' event this.trigger('form-submit-notify', [this, options]); return this; // private function for handling file uploads (hat tip to YAHOO!) function fileUpload(a) { var form=$form[0], el, i, s, g, id, $io, io, xhr, sub, n, timedOut, timeoutHandle; var useProp=!!$.fn.prop; if (a) { // ensure that every serialized input is still enabled for (i=0; i < a.length; i++) { el=$(form[a[i].name]); el[ useProp ? 'prop' : 'attr' ]('disabled', false); } } if ($(':input[name=submit],:input[id=submit]', form).length) { // if there is an input with a name or id of 'submit' then we won't be // able to invoke the submit fn on the form (at least not x-browser) alert('Error: Form elements must not have name or id of "submit".'); return; } s=$.extend(true, {}, $.ajaxSettings, options); s.context=s.context || s; id='jqFormIO' + (new Date().getTime()); if (s.iframeTarget) { $io=$(s.iframeTarget); n=$io.attr('name'); if (n == null) $io.attr('name', id); else id=n; } else { $io=$('