1$(document).ready(function() { 2 let options = {target:'form',beforeSubmit:formRequest,success:formResponse,dataType:'json',clearForm:true}; 3 $('form').ajaxForm(options); 4 5// pre-submit callback 6function formRequest(formData, jqForm, options) { 7 $(formData).each(function(i) { 8 if(this.required && this.value===''){ 9 $(this.id).addClass('smsg'); 10 }else{ 11 $(this.id).removeClass('smsg'); 12 } 13 }); 14 var queryString = $.param(formData); 15 return true; 16} 17 18// post-submit callback 19function formResponse(responseText, statusText, xhr, $form) { 20 if(statusText==="success"){ 21 $form[0].remove(); 22 $('.submitresult').html(responseText.message).css('display', 'block'); 23 24 if(responseText.redirection!==0 && responseText.url!==''){ 25 var target=responseText.redirection===2?'_self':'_blank'; 26 var delay=parseInt(responseText.delay,10); 27 if(delay!==NaN && delay>0){ 28 $('.resultdelay').html(delay).css('display', 'block'); 29 var refresh = setInterval(function(){ 30 $('.resultdelay').html(delay); 31 delay--; 32 if(delay===0){ 33 window.open(responseText.url, target); 34 clearInterval(refresh); 35 } 36 }, 1000); 37 38 } 39 40 41 } 42 } 43} 44 45$('form').on('keydown','input:not([required]), textarea:not([required])', valueChanged); 46$('form').on('change','select:not([required])', valueChanged); 47 48}); 49 50function valueChanged(){ 51 if($(this).val()===''){ 52 $(this).removeClass('notempty'); 53 }else{ 54 $(this).addClass('notempty'); 55 } 56}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.