1(function ($) { 2 // IEãªãå¦çåé¿ 3 var userAgent = window.navigator.userAgent.toLowerCase(); 4 if (userAgent.indexOf('msie') != -1 || userAgent.indexOf('trident') != -1) { 5 return; 6 } 7 8 9 // åæè¡¨ç¤ºæ 10 $( 'input[name=_wpcf7]' ) . each( function() { 11 $(this).after('<input type="hidden" name="_wpcf7cp" value="status_input" />'); 12 return false; 13 }); 14 15 16 // ãã¿ã³ã©ãã«ã®å¤æ´ 17 $( 'form.wpcf7-form input.wpcf7-submit' ) . attr( 'value', data_arr . cfm_btn ); 18 $( 'form.wpcf7-form button.wpcf7-submit' ).text( data_arr . cfm_btn ); 19 20 21 // åæå¤ã®ä¿æ 22 var resetValues = $( 'form.wpcf7-form' ) . serializeArray(); 23 24 25 // ãã©ã¼ã ã®ãªã»ãã 26 var resetForm = function() { 27 var formObj = $( 'form.wpcf7-form' ); 28 for ( var i = 0; i < resetValues . length; i++ ) { 29 formObj . find( '[name=' + resetValues[i] . name + ']' ) . val( resetValues[i] . value ); 30 } 31 formObj . find( ':file' ) . val( null ); 32 }; 33 34 35 // ãµãã¿ã¤ãºï¼æ¹è¡ã³ã¼ã夿 36 var sanitizeText = function( textVal ) { 37 return textVal.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/`/g, '`').replace(/\r?\n/g, '<br>'); 38 }; 39 40 41 // ããã¹ãã»ããã®åå¾ 42 var getTextSet = function( inputObj ) { 43 var textSetObj = inputObj . closest( '.text-set-contactform7' ); 44 if ( ! textSetObj ) { 45 return null; 46 } 47 var textSetObjClone = textSetObj . clone(); 48 var inputToReplaces = textSetObjClone . find( 'input, select' ); 49 for ( var i = 0; i < inputToReplaces . length; i++ ) { 50 var inputToReplace = $( inputToReplaces[i] ); 51 var inputName = inputToReplace . attr( 'name' ); 52 if ( inputName ) { 53 inputToReplace . replaceWith( '{%' + inputName . replace( '[]', '' ) + '%}' ); 54 } 55 } 56 return textSetObjClone . text(); 57 }; 58 59 // åºåãæåï¼å°æ¥çã«WP管çç»é¢ããè¨å®å¯è½ã«ï¼ï¼ 60 var splitter = ', '; 61 62 63 // 確èªãã¿ã³æ¼ä¸ã§ç¢ºèªç»é¢ã表示 64 var wpcf7cp_confirm = function(unit_tag) { 65 const NEW_LINE_CODE = /\r\n|\r|\n/; // æ¹è¡ã³ã¼ã 66 const PATH_CODE = /[\\\/]/; // Pathåºåãã³ã¼ã 67 68 // ã¹ãã¼ã¿ã¹ãå ¥åç¶æ ãã確èªç¶æ ã«å¤æ´ 69 changeFormStatus( 'confirm' ); 70 71 var textAreaList = new Array(); // ããã¹ãã¨ãªã¢ã®ã¿ã¤ãã«åãä¿æãããªã¹ã 72 var noTitleDammyStr = 'CF7CfmPlsNoTitle'; // ã¿ã¤ãã«ãåå¨ããªãå ´åã®ããã¼æåå 73 var noTitleOuterHTMLs = []; // ã¿ã¤ãã«ãåå¨ããªã親Pè¦ç´ ã®HTMLé å 74 75 var dispList = {}; // ã¿ã¤ãã«ãå ¥åå¤ãä¿æãããªã¹ã 76 77 // 対象ãã©ã¼ã æ¤ç´¢ 78 $( 'input[name=_wpcf7_unit_tag]' ).each(function(){ 79 if($(this).val() == unit_tag) { 80 var formElm = $(this).parents("form"); 81 82 // éä¿¡å®äºã¡ãã»ã¼ã¸ãé表示ã«ãã 83 var responseOutput = formElm.find('div.wpcf7-response-output'); 84 responseOutput.addClass("wpcf7cp-force-hide"); 85 86 // å ¥åå¤åå¾: avoid-confirmã¯ã©ã¹ä»ä¸è¦ç´ ã¯åé¿ 87 formElm . find( 'input, select, textarea' ) . filter( ':visible:not(.avoid-confirm)' ) . each( function() { 88 var title = null; 89 var val = null; 90 var tagName = $(this).prop("tagName"); 91 92 var name = $( this ) . attr( 'name' ); 93 if ( name ) name = name . replace( '[]' , '' ); 94 95 if ("INPUT" == tagName) { 96 var inputType = $(this).attr("type"); 97 98 switch (inputType) { 99 case "submit": 100 case "button": 101 case "hidden": 102 case "image": 103 // å¦çä¸è¦ 104 break; 105 case "radio": 106 case "checkbox": 107 if ( ! $(this) . is( ':checked' ) ) { 108 break; 109 } 110 111 title = wpcf7cp_get_title( $( this ) ); 112 113 val = $( this ) . val(); 114 if( '1' === val || 'on' === val ) { 115 val = data_arr . checked_msg; 116 } 117 break; 118 119 case "file": 120 title = wpcf7cp_get_title($(this)); 121 val = $(this).val().split(PATH_CODE).pop(); 122 break; 123 124 default: 125 if ( $( this ) . hasClass( 'wpcf7-quiz' ) ) { 126 // CF7ã®éä¿¡å¯å¦å¤å®ç¨ã¯ã¤ãºã¯ç¢ºèªé ç®ã¨ããªã 127 return; 128 } 129 title = wpcf7cp_get_title($(this)); 130 // ãµãã¿ã¤ãº 131 val = sanitizeText( $(this).val() ); 132 } 133 134 } else if ("TEXTAREA" == tagName) { 135 title = wpcf7cp_get_title($(this)); 136 // ãµãã¿ã¤ãºï¼æ¹è¡ã³ã¼ã夿 137 val = sanitizeText( $(this).val() ); 138 textAreaList.push(title); 139 140 } else if("SELECT" == tagName) { 141 title = wpcf7cp_get_title($(this)); 142 val = $(this) . val(); 143 } 144 145 // æå¹ãªã¿ã¤ãã«ã®ãªãå ´åã¯outerHTMLã«åºã¥ãã·ã¹ãã æååãé©ç¨ 146 if ( ! title ) { 147 var outerHTML = $( this ) . parents( 'p' ) . prop( 'outerHTML' ); 148 var k = $ . inArray( outerHTML, noTitleOuterHTMLs ); 149 if ( k === -1 ) { 150 // åä¸ã®outerHTMLãæªæ ¼ç´ãªãæ°ããªINPUTã»ããã¨ãã¦å¦ç 151 noTitleOuterHTMLs . push( outerHTML ); 152 k = noTitleOuterHTMLs . length - 1; 153 } 154 title = noTitleDammyStr + k; 155 } 156
157 // å ¥åå¤ããªã¹ãã«ã»ãã 158 if ( title !== null && val !== null ) { 159 if ( ! dispList[title] ) { 160 dispList[title] = { 161 values: {}, 162 textSet: getTextSet( $( this ) ) 163 }; 164 } 165 if ( typeof dispList[title]['values'][name] === 'undefined' ) { 166 dispList[title]['values'][name] = ''; 167 } else { 168 dispList[title]['values'][name] += splitter; 169 } 170 dispList[title]['values'][name] += ( typeof val === 'object' ? val . join( splitter ) : val ); // multiple selectãªãjoin() 171 } 172 }); 173 174 // formå ¨ä½ãé表示ã«ãã 175 formElm.addClass('wpcf7cp-form-hide'); 176 } 177 }); 178 179 // 確èªç»é¢è¡¨ç¤º 180 $( 'div.wpcf7' ).each(function(){ 181 var cfm_btn_edit = data_arr.cfm_btn_edit; // ä¿®æ£ãã¿ã³å 182 var cfm_btn_mail_send = data_arr.cfm_btn_mail_send; // ãã®å 容ã§éä¿¡ãããã¿ã³å 183 184 // 確èªå å®¹çæ 185 var wrapperDivObj = $( '<div id="wpcf7cpcnf">' ) . appendTo( this ); 186 var tableObj = $( '<table>' ) . appendTo( wrapperDivObj ); 187 for (key in dispList) { 188 // ã¿ã¤ãã«ã空æ¬ã®å ´å 189 var keyToShow = key; 190 var regexp = new RegExp( '^' + noTitleDammyStr + '[0-9]+$'); 191 if ( keyToShow . match( regexp ) ) { 192 // ã·ã¹ãã æååãé¤å»ãã¦ç©ºã¿ã¤ãã«è¡¨ç¤º 193 keyToShow = ''; 194 } 195 196 var title = $( '<p>' ) . text( keyToShow ); 197 var titleElm = $( '<th>' ) . append( title ); 198 var val = ''; 199 if ( ! dispList[key]['textSet'] ) { 200 for ( k in dispList[key]['values'] ) { 201 if ( val !== '' ) { 202 val += splitter; 203 } 204 val += dispList[key]['values'][k]; 205 } 206 val = '<p>' + val + '</p>'; 207 } else { 208 val = dispList[key]['textSet']; 209 for ( k in dispList[key]['values'] ) { 210 val = val . replace( new RegExp( '\{%' + k + '%\}', 'g' ), String( dispList[key]['values'][k] ) ); 211 } 212 } 213 var valElm = $( '<td>' ) . append( val ); 214 var rowElm = $( '<tr>' ) . append( titleElm ) . append( valElm ); 215 216 tableObj . append( rowElm ); 217 } 218 219 // ä¿®æ£ãéä¿¡ãã¿ã³çæ 220 var btnTableElm = $( '<div class="wpcf7cp-btns">' ) . append( 221 $( 222 '<button type="button" class="wpcf7-form-control wpcf7cp-cfm-edit-btn">' + cfm_btn_edit + '</button>' 223 ) . click( function() { 224 wpcf7cp_edit(); 225 changeFormStatus( 'input' ); 226 } ) 227 ) . append( 228 $( 229 '<button type="button" class="wpcf7-form-control wpcf7-submit wpcf7cp-cfm-submit-btn">' + cfm_btn_mail_send + '</button>' 230 ) . click( function() { 231 wpcf7cp_mail_send(); 232 } ) 233 ); 234 wrapperDivObj . append( btnTableElm ); 235 236 // 確èªç»é¢ãããã¾ã§ã¹ã¯ãã¼ã« 237 var position = $(this).offset().top; 238 239 var popupHeight = $( '#wpcf7cpcnf' ) . height(); 240 var windowHeight = document.documentElement . clientHeight; 241 242 var topOffset = 50; 243 if ( popupHeight < windowHeight ) { 244 // 確èªãããã¢ããã®é«ãããã©ã¦ã¶é«ãããå°ãããã°ä¸ä¸ä¸å¤®è¡¨ç¤º 245 topOffset = Math . round( ( windowHeight - popupHeight ) / 2 ); 246 } 247 248 var speed = 500; 249 $("html, body").animate({scrollTop: position - topOffset }, speed, "swing"); 250 }); 251 } 252 253 254 // 確èªç»é¢ãããä¿®æ£ããã¿ã³ã§ç·¨éç»é¢ã«å¾©å¸° 255 var wpcf7cp_edit = function(){ 256 // 確èªç»é¢ã®ä¿®æ£ãã¿ã³æ¼ä¸æã®å¦ç 257 // é表示ã¨ããformãå表示ãã 258 $( '.wpcf7cp-form-hide' ) . each( function() { 259 $(this).removeClass("wpcf7cp-form-hide"); 260 }); 261 262 // 確èªç»é¢ãéãã 263 $( '#wpcf7cpcnf' ) . each( function() { 264 $(this) . remove(); 265 return false; 266 }); 267 } 268 269 270 // å ¥åãã©ã¼ã ã®ã¹ãã¼ã¿ã¹ãinput/confirmã«å¤æ´ 271 var changeFormStatus = function( statusTo ) { 272 if ( -1 === $ . inArray( statusTo, ['input', 'confirm'] ) ) { 273 return; 274 } 275 276 $( 'input[name=_wpcf7cp]' ) . each( function() { 277 $( this ) . val( 'status_' + statusTo ); 278 return false; 279 }); 280 }; 281 282 283 // 確èªç»é¢ããã¡ã¼ã«ãéä¿¡ 284 var wpcf7cp_mail_send = function(){ 285 // 確èªç»é¢ã®ããã®å 容ã§éä¿¡ãããã¿ã³æ¼ä¸æã®å¦ç 286 // $( '.wpcf7-form' ) . submit(); 287 288 // ãã©ã¼ã éä¿¡ã¨ç¢ºèªç»é¢é¤å» 289 var submitButton = $( 'form.wpcf7-form .wpcf7-submit' ); 290 var forms = submitButton . parents( 'form' ); 291 var responseOutput = forms . find( 'div.wpcf7-response-output' ); 292 forms . one( 'submit', function() { 293 // clickã¤ãã³ãã«ããsubmitã¤ãã³ãçºçå¾ã«å®è¡ 294 setTimeout( function() { 295 responseOutput . removeClass( 'wpcf7cp-force-hide' ); 296 wpcf7cp_edit(); 297 } ); 298 } ); 299 submitButton . click(); 300 301 // ããã°ã¬ã¹è¡¨ç¤º 302 var progressContents = $( '<div class="wpcf7cp-progress-cover"></div><div class="wpcf7cp-progress-content"><p>Progress...</p></div>' ) . appendTo( forms[0] ); 303 progressContents . height( progressContents . height() ); // height: 100%ã絶対å¤ã«å¤æãã¦éä¿¡å®äºã¡ãã»ã¼ã¸èªã¿è¾¼ã¿æã®ã¬ã¿ã¤ã鲿¢ 304
305 // AJAXã¡ãã»ã¼ã¸ã®åæ ãå¾ ã£ã¦ã¹ã¯ãã¼ã« 306 var intervalId = setInterval( function() { 307 // ã¡ãã»ã¼ã¸åæ ãã§ã㯠308 if ( ! responseOutput . text() . length || ! responseOutput . is( ':visible' ) ) { 309 return; 310 } 311 312 // ãã©ã¼ã åæå 313 resetForm(); 314 changeFormStatus( 'input' ); 315 316 // ããã°ã¬ã¹è¡¨ç¤ºã®é¤å» 317 progressContents . remove(); 318 319 // ã¡ãã»ã¼ã¸è¡¨ç¤ºç®æã¾ã§ã¹ã¯ãã¼ã« 320 var responsePosi = responseOutput . offset() . top; 321 var scrollToPosi = responsePosi - ( $( window ) . height() / 2 ); 322 $( 'html, body' ) . animate( { scrollTop: scrollToPosi }, 500, 'swing' ); 323 324 // 宿å¦ççµäº 325 clearInterval( intervalId ); 326 }, 300 ); 327 } 328 329 330 // ã¿ã¤ãã«åå¾ 331 var wpcf7cp_get_title = function (element) { 332 var title = null; 333 334 var makeTitle = function( titleObj ) { 335 var titleObjClone = titleObj . clone(); 336 titleObjClone . find( '.avoid-confirm' ) . remove(); 337 if (titleObjClone.length > 1) { 338 titleObjClone = titleObjClone.first(); 339 } 340 return $ . trim( titleObjClone . text() ); 341 }; 342 343 // ã¿ã¤ãã®åå¾ 344 var thisObj = $( element ); 345 var inputType = thisObj . attr( 'type' ); 346 347 // checkbox/radioã®å ´åã¯legendè¦ç´ ãæåªå 348 if ( inputType === 'checkbox' || inputType === 'radio' ) { 349 var legend = thisObj . closest( 'fieldset' ) . find( 'legend' ); 350 if ( legend . length ) { 351 // filedset/legendãé©ç¨ããã¦ããã°ã¿ã¤ãã«ã«ä½¿ç¨ 352 title = makeTitle( legend ); 353 } 354 } 355 356 if ( ! title ) { 357 // name対å¿labelè¦ç´ ã«ããã¿ã¤ãã«åå¾ 358 var nameVal = thisObj . attr( 'name' ) . replace(/\[\]$/, ''); 359 if ( inputType !== 'radio' ) { 360 var labelObjWithForAttr = $( 'label[for="' + nameVal + '"]' ); 361 if ( labelObjWithForAttr ) { 362 title = makeTitle( labelObjWithForAttr ); 363 } 364 365 // 親labelè¦ç´ ï¼CF7æ¹å¼ï¼ã§ã®ã¿ã¤ãã«åå¾ 366 if ( ! title && inputType !== 'checkbox' ) { 367 var closestLabelObj = thisObj . closest( 'label' ); 368 if ( closestLabelObj ) { 369 if ( 'SELECT' == thisObj . prop( 'tagName' ) ) { 370 // ã»ã¬ã¯ãã¡ãã¥ã¼ãªãè¤è£½âãªãã·ã§ã³è¦ç´ ãé¤å» 371 closestLabelObjClone = closestLabelObj . clone(); 372 closestLabelObjClone . find( 'option' ) . remove(); 373 title = makeTitle( closestLabelObjClone ); 374 } else { 375 title = makeTitle( closestLabelObj ); 376 } 377 } 378 } 379 } 380 381 // ã¯ã©ã¹åã«ããæç¤ºã«å¯¾å¿ 382 if ( ! title ) { 383 var classLabelObj = $( '.title-contactform7.for-' + ( nameVal ) ); 384 if ( classLabelObj ) { 385 title = makeTitle( classLabelObj ); 386 } 387 } 388 389 // ãã¼ãã«ã®åä¸è¡ã«åå¨ãã.title-contactform7è¦ç´ ã«å¯¾å¿ 390 if ( ! title ) { 391 var closestTrObj = thisObj . closest( 'tr' ); 392 if ( closestTrObj ) { 393 var labelInSameTrObj = closestTrObj . find( '.title-contactform7' ); 394 if ( labelInSameTrObj ) { 395 title = makeTitle( labelInSameTrObj ); 396 } 397 } 398 } 399 400 // 親labelè¦ç´ ï¼CF7æ¹å¼ï¼ã®åç¬ãã§ãã¯ããã¯ã¹ã«å¯¾å¿ï¼è¦ç´ç¢ºèªãªã©ï¼ 401 if ( ! title && inputType === 'checkbox' ) { 402 var closestLabelObj = thisObj . closest( 'label' ); 403 if ( closestLabelObj ) { 404 title = makeTitle( closestLabelObj ); 405 } 406 } 407 } 408 409 return title; 410 }; 411 412 413 // CF7ã®AJAXã¤ãã³ã 414 document . addEventListener( 'wpcf7submit', function( event ) { 415 if ( 'wpcf7cp_confirm' === event.detail.status) { 416 wpcf7cp_confirm( event.detail.unitTag ); 417 } 418 }, false ); 419} )( jQuery );
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.