1(function () { 2 function initContactPage() { 3 // ã¿ãåãæ¿ãå¦ç 4 const formSelectors = document.querySelectorAll( 5 ".contact-form-type-selector__item" 6 ); 7 const newgraduateForm = document.getElementById("newgraduate-form"); 8 const careerForm = document.getElementById("career-form"); 9 10 // URLããã·ã¥ã«åºã¥ãã¦ã¿ããåãæ¿ãã颿° 11 function switchContactTab(hash) { 12 let defaultFormType = "newgraduate"; // ããã©ã«ãã¯æ°åãã©ã¼ã 13 14 if (hash === "#newgraduate-form") { 15 defaultFormType = "newgraduate"; 16 } else if (hash === "#career-form") { 17 defaultFormType = "career"; 18 } 19 20 // ãã©ã¼ã ã表示ã»é表示 21 if (defaultFormType === "newgraduate") { 22 if (newgraduateForm) { 23 newgraduateForm.style.display = "block"; 24 } 25 if (careerForm) { 26 careerForm.style.display = "none"; 27 } 28 // æ°åã¿ãã«activeã¯ã©ã¹ã追å 29 formSelectors.forEach(function (item) { 30 item.classList.remove("contact-form-type-selector__item--active"); 31 if (item.getAttribute("data-form-type") === "newgraduate") { 32 item.classList.add("contact-form-type-selector__item--active"); 33 } 34 }); 35 } else if (defaultFormType === "career") { 36 if (newgraduateForm) { 37 newgraduateForm.style.display = "none"; 38 } 39 if (careerForm) { 40 careerForm.style.display = "block"; 41 } 42 // ãã£ãªã¢ã¿ãã«activeã¯ã©ã¹ã追å 43 formSelectors.forEach(function (item) { 44 item.classList.remove("contact-form-type-selector__item--active"); 45 if (item.getAttribute("data-form-type") === "career") { 46 item.classList.add("contact-form-type-selector__item--active"); 47 } 48 }); 49 } 50 } 51 52 // ååèªã¿è¾¼ã¿æã®ã¿ãåãæ¿ãå¦ç 53 switchContactTab(window.location.hash); 54 55 // ããã·ã¥ã夿´ãããæï¼ãã¼ã¸å ãªã³ã¯ã¯ãªãã¯æï¼ã®ã¿ãåãæ¿ãå¦ç 56 window.addEventListener("hashchange", function () { 57 switchContactTab(window.location.hash); 58 }); 59 60 formSelectors.forEach(function (selector) { 61 selector.addEventListener("click", function () { 62 const formType = this.getAttribute("data-form-type"); 63 64 // ãã¹ã¦ã®ã»ã¬ã¯ã¿ã¼ããactiveã¯ã©ã¹ãåé¤ 65 formSelectors.forEach(function (item) { 66 item.classList.remove("contact-form-type-selector__item--active"); 67 }); 68 69 // ã¯ãªãã¯ãããã»ã¬ã¯ã¿ã¼ã«activeã¯ã©ã¹ã追å 70 this.classList.add("contact-form-type-selector__item--active"); 71 72 // ãã©ã¼ã ãåãæ¿ã 73 if (formType === "newgraduate") { 74 if (newgraduateForm) newgraduateForm.style.display = "block"; 75 if (careerForm) careerForm.style.display = "none"; 76 } else if (formType === "career") { 77 if (newgraduateForm) newgraduateForm.style.display = "none"; 78 if (careerForm) careerForm.style.display = "block"; 79 } 80 }); 81 }); 82 83 // Contact Formï¼æ°åã»ãã£ãªã¢ï¼ã®ç¢ºèªç»é¢å¶å¾¡ 84 function initContactForms() { 85 console.log("initContactForms() ãå¼ã³åºããã¾ãã"); 86 // CF7ã®ãã©ã¼ã çæãå¾ ã¤ 87 const checkForms = () => { 88 const forms = document.querySelectorAll("form.wpcf7-form"); 89 console.log("ãã©ã¼ã ã®æ°:", forms.length); 90 if (!forms.length) { 91 // ãã©ã¼ã ãã¾ã çæããã¦ããªãå ´åã¯å°ãå¾ ã£ã¦åè©¦è¡ 92 console.log("ãã©ã¼ã ãè¦ã¤ããã¾ããã100mså¾ã«å試è¡ãã¾ã"); 93 setTimeout(checkForms, 100); 94 return; 95 } 96 console.log("ãã©ã¼ã ãè¦ã¤ããã¾ãããå¦çãéå§ãã¾ã"); 97 98 // CF7ã®ã¬ã¹ãã³ã¹ã¡ãã»ã¼ã¸ãåæç¶æ ã§é表示ã«ãã 99 forms.forEach((form) => { 100 const responseOutput = form.querySelector(".wpcf7-response-output"); 101 if (responseOutput) { 102 responseOutput.style.display = "none"; 103 responseOutput.setAttribute("aria-hidden", "true"); 104 } 105 }); 106
107 forms.forEach((form) => { 108 // ãã©ã¼ã ã®è¦ªè¦ç´ ï¼.inquiry-formï¼ãã確èªç»é¢ãæ¢ã 109 const formWrapper = form.closest(".inquiry-form"); 110 if (!formWrapper) { 111 console.log("formWrapper not found"); 112 return; 113 } 114 115 const confirmScreen = formWrapper.querySelector(".js-confirm-screen"); 116 const formInputScreen = 117 formWrapper.querySelector(".form-input-screen"); 118 // 確èªãã¿ã³ã¯formWrapperå ã®#confirm-btnã¾ãã¯input.js-confirm-btnã§åå¾ 119 const confirmBtn = 120 formWrapper.querySelector("#confirm-btn") || 121 formWrapper.querySelector("input.js-confirm-btn") || 122 formWrapper.querySelector("button.js-confirm-btn"); 123 const backBtn = formWrapper.querySelector(".js-back-btn"); 124 // éä¿¡ãã¿ã³ã¯ç¢ºèªç»é¢å ã®buttonè¦ç´ ã¨ãã¦åå¾ 125 const submitBtn = 126 confirmScreen?.querySelector("#submit-btn") || 127 confirmScreen?.querySelector("button.js-submit-btn") || 128 formWrapper.querySelector("#submit-btn") || 129 formWrapper.querySelector("button.js-submit-btn"); 130 131 // ãããã°: éä¿¡ãã¿ã³ã®åå¾ãç¢ºèª 132 console.log("éä¿¡ãã¿ã³ã®æ¤ç´¢çµæ:", { 133 byConfirmScreenId: confirmScreen?.querySelector("#submit-btn"), 134 byConfirmScreenClass: confirmScreen?.querySelector( 135 "button.js-submit-btn" 136 ), 137 byFormWrapperId: formWrapper.querySelector("#submit-btn"), 138 byFormWrapperClass: formWrapper.querySelector( 139 "button.js-submit-btn" 140 ), 141 finalSubmitBtn: submitBtn, 142 }); 143 144 // ãããã°: 確èªãã¿ã³ã®åå¾ãç¢ºèª 145 console.log("確èªãã¿ã³ã®æ¤ç´¢çµæ:", { 146 byId: formWrapper.querySelector("#confirm-btn"), 147 byClass: formWrapper.querySelector("input.js-confirm-btn"), 148 byButtonClass: formWrapper.querySelector("button.js-confirm-btn"), 149 finalConfirmBtn: confirmBtn, 150 }); 151 152 console.log("Elements found:", { 153 confirmScreen: !!confirmScreen, 154 formInputScreen: !!formInputScreen, 155 confirmBtn: !!confirmBtn, 156 backBtn: !!backBtn, 157 submitBtn: !!submitBtn, 158 }); 159 160 if (!confirmScreen || !confirmBtn || !backBtn || !submitBtn) { 161 console.log("Required elements missing"); 162 return; 163 } 164 165 const hasSchool = !!form.querySelector('[name="school"]'); 166 const hasCareerPosition = !!form.querySelector( 167 '[name="career-position"]' 168 ); 169 const isNewgraduate = hasSchool; 170 const isCareer = hasCareerPosition && !hasSchool; 171 172 let requiredFields = []; 173 if (isNewgraduate) { 174 requiredFields = [ 175 "family-name", 176 "your-name", 177 "family-name-kana", 178 "name-kana", 179 "your-email", 180 "your-email-confirm", 181 "phone", 182 "birthyear", 183 "birthyear-month", 184 "birthyear-day", 185 "school", 186 "faculty", 187 "graduation", 188 "inquiry_type", 189 "know-method", 190 "agreement", 191 ]; 192 } else if (isCareer) { 193 requiredFields = [ 194 "family-name", 195 "your-name", 196 "family-name-kana", 197 "name-kana", 198 "your-email", 199 "your-email-confirm", 200 "phone", 201 "birthyear", 202 "birthyear-month", 203 "birthyear-day", 204 "career-position", 205 "career-experience", 206 "know-method", 207 "agreement", 208 ]; 209 } else { 210 // æ³å®å¤ã®ãã©ã¼ã æ§æã¯ã¹ããã 211 return; 212 } 213 214 // CF7ããªãã¼ã·ã§ã³ã¨ã©ã¼æã®ã¹ã¯ãã¼ã« 215 form.addEventListener( 216 "wpcf7invalid", 217 function () { 218 const invalidField = form.querySelector(".wpcf7-not-valid"); 219 if (invalidField) { 220 invalidField.scrollIntoView({ 221 behavior: "smooth", 222 block: "center", 223 }); 224 } 225 }, 226 false 227 ); 228 229 // ãå ¥åå 容ã®ç¢ºèªããã¿ã³ 230 if (!confirmBtn) { 231 console.error("確èªãã¿ã³ãè¦ã¤ããã¾ãã"); 232 return; 233 } 234 console.log("確èªãã¿ã³ãè¨å®ãã¾ã:", confirmBtn); 235 confirmBtn.addEventListener("click", function (e) { 236 e.preventDefault(); 237 e.stopPropagation(); 238 console.log("確èªãã¿ã³ãã¯ãªãã¯ããã¾ãã"); 239 240 let isValid = true; 241 242 // å¿ é é ç®ãã§ãã¯ï¼know-method ã¯å¥å¦çï¼ 243 requiredFields.forEach(function (name) { 244 if (name === "know-method") return; 245 const field = form.querySelector('[name="' + name + '"]'); 246 if (!field) return; 247 248 if (field.type === "checkbox" || field.type === "radio") { 249 const checked = form.querySelector( 250 '[name="' + name + '"]:checked' 251 ); 252 if (!checked) { 253 isValid = false;
254 field.classList.add("wpcf7-not-valid"); 255 } else { 256 field.classList.remove("wpcf7-not-valid"); 257 } 258 } else { 259 if (!field.value || field.value.trim() === "") { 260 isValid = false; 261 field.classList.add("wpcf7-not-valid"); 262 } else { 263 field.classList.remove("wpcf7-not-valid"); 264 } 265 } 266 }); 267 268 // å¼ç¤¾ãç¥ã£ããã£ããï¼checkbox[] å¿ é ï¼ 269 const knowMethodCheckboxes = form.querySelectorAll( 270 '[name="know-method[]"]' 271 ); 272 if (knowMethodCheckboxes.length > 0) { 273 let hasKnowMethod = false; 274 knowMethodCheckboxes.forEach((cb) => { 275 if (cb.checked) { 276 hasKnowMethod = true; 277 cb.classList.remove("wpcf7-not-valid"); 278 } 279 }); 280 if (!hasKnowMethod) { 281 isValid = false; 282 knowMethodCheckboxes.forEach((cb) => { 283 cb.classList.add("wpcf7-not-valid"); 284 }); 285 } 286 } 287 288 // ã¡ã¼ã«ã¢ãã¬ã¹ä¸è´ãã§ã㯠289 const email = form.querySelector('[name="your-email"]'); 290 const emailConfirm = form.querySelector( 291 '[name="your-email-confirm"]' 292 ); 293 if (email && emailConfirm && email.value !== emailConfirm.value) { 294 isValid = false; 295 email.classList.add("wpcf7-not-valid"); 296 emailConfirm.classList.add("wpcf7-not-valid"); 297 alert("ã¡ã¼ã«ã¢ãã¬ã¹ãä¸è´ãã¾ããã"); 298 return; 299 } 300 301 if (!isValid) { 302 alert("å¿ é é ç®ãå ¥åãã¦ãã ããã"); 303 const firstInvalid = form.querySelector(".wpcf7-not-valid"); 304 if (firstInvalid) { 305 firstInvalid.scrollIntoView({ 306 behavior: "smooth", 307 block: "center", 308 }); 309 } 310 return; 311 } 312 313 // 確èªç»é¢ã«å¤ãåæ 314 setConfirmValues(form, { 315 isNewgraduate, 316 isCareer, 317 }); 318 319 // å ¥åç»é¢ãé ãã確èªç»é¢ã表示 320 console.log("確èªç»é¢ã表示ãã¾ã"); 321 if (formInputScreen) { 322 formInputScreen.style.display = "none"; 323 console.log("å ¥åç»é¢ãé表示ã«ãã¾ãã"); 324 } 325 confirmScreen.style.display = "block"; 326 console.log("確èªç»é¢ã表示ãã¾ãã"); 327 confirmScreen.scrollIntoView({ 328 behavior: "smooth", 329 block: "start", 330 }); 331 }); 332 333 // æ»ããã¿ã³ 334 backBtn.addEventListener("click", function () { 335 if (formInputScreen) formInputScreen.style.display = "block"; 336 confirmScreen.style.display = "none"; 337 const target = formInputScreen || form; 338 target.scrollIntoView({ 339 behavior: "smooth", 340 block: "start", 341 }); 342 }); 343 344 // 確èªç»é¢ã®ãéä¿¡ããããã¿ã³ 345 submitBtn.addEventListener("click", function (e) { 346 e.preventDefault(); 347 e.stopPropagation(); 348 console.log("éä¿¡ãã¿ã³ãã¯ãªãã¯ããã¾ãã"); 349 350 // 確èªç»é¢ãé表示ã«ãã¦ããéä¿¡ 351 if (formInputScreen) formInputScreen.style.display = "block"; 352 confirmScreen.style.display = "none"; 353 354 // CF7ã®ãã©ã¼ã éä¿¡ãããªã¬ã¼ 355 // æ¹æ³1: ãã©ã¼ã å ã®éä¿¡ãã¿ã³ãæ¢ãã¦ã¯ãªã㯠356 const allSubmits = form.querySelectorAll('input[type="submit"]'); 357 console.log("ãã©ã¼ã å ã®éä¿¡ãã¿ã³:", allSubmits); 358 359 let originalSubmit = 360 Array.from(allSubmits).find((btn) => { 361 return ( 362 btn.id !== "confirm-btn" && 363 !btn.classList.contains("js-confirm-btn") 364 ); 365 }) || allSubmits[0]; 366 367 console.log("使ç¨ããéä¿¡ãã¿ã³:", originalSubmit); 368 369 if (originalSubmit) { 370 console.log("éä¿¡ãã¿ã³ãã¯ãªãã¯ãã¦éä¿¡ãã¾ã"); 371 // å°ãå¾ ã£ã¦ããéä¿¡ãã¿ã³ãã¯ãªãã¯ï¼ç¢ºèªç»é¢ã®é表示ãå®äºãã¦ããï¼ 372 setTimeout(function () { 373 originalSubmit.click(); 374 }, 200); 375 } else { 376 console.log("éä¿¡ãã¿ã³ãè¦ã¤ããã¾ãããCF7ã®APIã使ç¨ãã¾ã"); 377 // æ¹æ³2: CF7ã®APIã使ç¨ï¼wpcf7submitã¤ãã³ããããªã¬ã¼ï¼ 378 // ãã©ã¼ã ã®submitã¤ãã³ããç´æ¥ããªã¬ã¼ 379 const submitEvent = new Event("submit", { 380 bubbles: true, 381 cancelable: true, 382 }); 383 form.dispatchEvent(submitEvent); 384 385 // ããã«ãCF7ã®éä¿¡å¦çãç´æ¥å¼ã³åºã 386 if (typeof wpcf7 !== "undefined" && wpcf7.submit) { 387 wpcf7.submit(form); 388 } else { 389 // wpcf7ãå©ç¨ã§ããªãå ´åã¯ããã©ã¼ã ãç´æ¥éä¿¡ 390 console.log( 391 "CF7ã®APIãå©ç¨ã§ããªãããããã©ã¼ã ãç´æ¥éä¿¡ãã¾ã" 392 ); 393 form.submit(); 394 } 395 } 396 }); 397 398 // CF7éä¿¡å®äºæã®å¦ç 399 // ãªãã¤ã¬ã¯ãå¦çã¯405-412è¡ç®ã®å ¨ãã©ã¼ã å ±éãªã¹ãã¼ã§å¦çãããããã 400 // ããã§ã¯ä½ãå¦çããªãï¼å ¥åç»é¢ã表示ããªãï¼ 401 form.addEventListener( 402 "wpcf7mailsent", 403 function () { 404 // éä¿¡å®äºå¾ã¯å³åº§ã«ãªãã¤ã¬ã¯ããããããããã§ã¯ä½ãå¦çããªã 405 }, 406 false 407 ); 408 409 // CF7ã®ããªãã¼ã·ã§ã³ã¨ã©ã¼æã«ãã¬ã¹ãã³ã¹ã¡ãã»ã¼ã¸ãé表示ã«ãã 410 form.addEventListener( 411 "wpcf7invalid", 412 function () { 413 const responseOutput = form.querySelector( 414 ".wpcf7-response-output" 415 ); 416 if (responseOutput) { 417 responseOutput.style.display = "none"; 418 responseOutput.setAttribute("aria-hidden", "true"); 419 } 420 }, 421 false 422 ); 423 });
423 // forms.forEachã®éãæ¬å¼§ 424 }; // checkFormsã®éãæ¬å¼§ 425 426 checkForms(); 427 } 428 429 // CF7éä¿¡å®äºæã®å¦çï¼å ¨ãã©ã¼ã å ±éã»ãµã³ã¯ã¹ãã¼ã¸ã¸ã®ãªãã¤ã¬ã¯ãï¼ 430 document.addEventListener( 431 "wpcf7mailsent", 432 function (event) { 433 // éä¿¡å®äºå¾ãå³åº§ã«ãµã³ã¯ã¹ãã¼ã¸ã¸ãªãã¤ã¬ã¯ã 434 window.location.href = "/entry/thanks/"; 435 }, 436 false 437 ); 438 439 function setConfirmValues(form, flags) { 440 const { isNewgraduate, isCareer } = flags; 441 442 const getValue = (selector) => { 443 const field = form.querySelector(selector); 444 return field ? field.value || "" : ""; 445 }; 446 447 const setText = (selector, text) => { 448 // ãã©ã¼ã ã®è¦ªè¦ç´ ï¼.inquiry-formï¼ããè¦ç´ ãæ¢ã 449 const wrapper = form.closest(".inquiry-form"); 450 if (!wrapper) return; 451 const el = wrapper.querySelector(selector); 452 if (el) el.textContent = text; 453 }; 454 455 // æ°å 456 const familyName = getValue('[name="family-name"]'); 457 const yourName = getValue('[name="your-name"]'); 458 setText(".js-confirm-family-name", (familyName + " " + yourName).trim()); 459 460 // ãµãã㪠461 const familyNameKana = getValue('[name="family-name-kana"]'); 462 const nameKana = getValue('[name="name-kana"]'); 463 setText( 464 ".js-confirm-family-name-kana", 465 (familyNameKana + " " + nameKana).trim() 466 ); 467 468 // ã¡ã¼ã« 469 setText(".js-confirm-email", getValue('[name="your-email"]')); 470 471 // é»è©± 472 setText(".js-confirm-phone", getValue('[name="phone"]')); 473 474 // çå¹´ææ¥ 475 const birthyear = getValue('[name="birthyear"]'); 476 const birthMonth = getValue('[name="birthyear-month"]'); 477 const birthDay = getValue('[name="birthyear-day"]'); 478 const birthday = [birthyear, birthMonth, birthDay] 479 .filter(Boolean) 480 .join(""); 481 setText(".js-confirm-birthday", birthday); 482 483 if (isNewgraduate) { 484 setText(".js-confirm-school", getValue('[name="school"]')); 485 setText(".js-confirm-faculty", getValue('[name="faculty"]')); 486 const department = getValue('[name="department"]') || "æªå ¥å"; 487 setText(".js-confirm-department", department); 488 setText(".js-confirm-graduation", getValue('[name="graduation"]')); 489 490 const inquiryTypeField = form.querySelector( 491 '[name="inquiry_type"]:checked' 492 ); 493 if (inquiryTypeField) { 494 const label = form.querySelector( 495 'label[for="' + inquiryTypeField.id + '"]' 496 ); 497 setText( 498 ".js-confirm-inquiry-type", 499 label ? label.textContent.trim() : inquiryTypeField.value 500 ); 501 } 502 } 503 504 if (isCareer) { 505 const careerPosField = form.querySelector( 506 '[name="career-position"]:checked' 507 ); 508 if (careerPosField) { 509 const label = form.querySelector( 510 'label[for="' + careerPosField.id + '"]' 511 ); 512 setText( 513 ".js-confirm-career-position", 514 label ? label.textContent.trim() : careerPosField.value 515 ); 516 } 517 518 setText( 519 ".js-confirm-career-experience", 520 getValue('[name="career-experience"]') 521 ); 522 } 523 524 // å¼ç¤¾ãç¥ã£ããã£ããï¼å ±éï¼ 525 const knowMethodCheckboxes = form.querySelectorAll( 526 '[name="know-method[]"]:checked' 527 ); 528 if (knowMethodCheckboxes.length) { 529 const methods = Array.from(knowMethodCheckboxes).map((cb) => { 530 const label = form.querySelector('label[for="' + cb.id + '"]'); 531 return label ? label.textContent.trim() : cb.value; 532 }); 533 setText(".js-confirm-know-method", methods.join("ã")); 534 } else { 535 setText(".js-confirm-know-method", ""); 536 } 537 538 // ãã¡ã¤ã«æ·»ä»ï¼å ±éï¼ 539 const fileField = form.querySelector('[name="contactfoam7"]'); 540 if (fileField && fileField.files && fileField.files.length > 0) { 541 const fileName = fileField.files[0].name; 542 setText(".js-confirm-contactfoam7", fileName); 543 } else { 544 setText(".js-confirm-contactfoam7", "æªé¸æ"); 545 } 546 } 547 548 // 確èªç»é¢å¶å¾¡ãåæå
549 initContactForms(); 550 } 551 552 if (document.readyState === "loading") { 553 document.addEventListener("DOMContentLoaded", initContactPage); 554 } else { 555 initContactPage(); 556 } 557})();
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.