{"id":38,"date":"2025-11-14T18:32:27","date_gmt":"2025-11-14T09:32:27","guid":{"rendered":"https:\/\/yae-japan.com\/wp2025\/?page_id=38"},"modified":"2026-01-06T16:49:00","modified_gmt":"2026-01-06T07:49:00","slug":"otoiawase","status":"publish","type":"page","link":"https:\/\/yae-japan.com\/zh\/otoiawase\/","title":{"rendered":"\u54a8\u8be2\u8868\u683c"},"content":{"rendered":"    <div class=\"yae_contact_wrap\">\n        <form action=\"https:\/\/yae-japan.com\/zh\/otoiawase\/?action=contact_confirm\" method=\"POST\" >\n            <table class=\"contactTbl\">\n                <tbody>\n                    <tr>\n                        <th>\u59d3\u540d<span class=\"hissu\">*<\/span><\/th>\n                        <td>\n                            <input type=\"text\" name=\"contactName\" size=\"60\" value=\"\">\n                            <span class=\"error-msg\"><\/span>\n                        <\/td>\n                    <\/tr>\n                    <tr>\n                        <th>\u90ae\u7bb1\u5730\u5740<span class=\"hissu\">*<\/span><\/th>\n                        <td>\n                            <input type=\"text\" name=\"contactEmail\" size=\"60\" value=\"\">\n                            <span class=\"error-msg\"><\/span>\n                        <\/td>\n                    <\/tr>\n                    <tr>\n                        <th>\u90ae\u7bb1\u5730\u5740 (\u518d\u6b21\u8f93\u5165)<span class=\"hissu\">*<\/span><\/th>\n                        <td>\n                            <input type=\"text\" name=\"contactEmail2\" size=\"60\" value=\"\">\n                            <span class=\"error-msg\"><\/span>\n                        <\/td>\n                    <\/tr>\n                    <tr>\n                        <th>Contact Information<span class=\"hissu\">*<\/span><\/th>\n                        <td>\n                            <div>\n                                                                <span class=\"radio-field horizontal-item\">\n                                    <label>\n                                        <input type=\"radio\" name=\"contactInformation\" value=\"contactinfo_telephone\">\n                                        <span class=\"radio-field-text\">\u7535\u8bdd\u53f7\u7801<\/span>\n                                    <\/label>\n                                <\/span>\n                                                                <span class=\"radio-field horizontal-item\">\n                                    <label>\n                                        <input type=\"radio\" name=\"contactInformation\" value=\"contactinfo_line\">\n                                        <span class=\"radio-field-text\">Line ID<\/span>\n                                    <\/label>\n                                <\/span>\n                                                                <span class=\"radio-field horizontal-item\">\n                                    <label>\n                                        <input type=\"radio\" name=\"contactInformation\" value=\"contactinfo_wechat\">\n                                        <span class=\"radio-field-text\">WeChat ID<\/span>\n                                    <\/label>\n                                <\/span>\n                                                                <span class=\"radio-field horizontal-item\">\n                                    <label>\n                                        <input type=\"radio\" name=\"contactInformation\" value=\"contactinfo_whatsapp\">\n                                        <span class=\"radio-field-text\">Whatsapp ID<\/span>\n                                    <\/label>\n                                <\/span>\n                                                                <input type=\"hidden\" name=\"__children[contactInformation][]\" value=\"{&quot;\\u96fb\\u8a71\\u756a\\u53f7&quot;:&quot;\\u96fb\\u8a71\\u756a\\u53f7&quot;,&quot;Line ID&quot;:&quot;Line ID&quot;,&quot;WeChat ID&quot;:&quot;WeChat ID&quot;,&quot;Whatsapp ID&quot;:&quot;Whatsapp ID&quot;}\">\n                            <\/div>\n                            <p>\n                                <input type=\"text\" name=\"contactInformationText\" size=\"60\" value=\"\">\n                            <\/p>\n                            <span class=\"error-msg\"><\/span>\n                        <\/td>\n                    <\/tr>\n                    <tr>\n                        <th>\u5730\u533a<span class=\"hissu\">*<\/span><\/th>\n                        <td>\n                            <div>\n                                                                <span class=\"radio-field horizontal-item\">\n                                    <label>\n                                        <input type=\"radio\" name=\"contactRegion\" value=\"region_ja\">\n                                        <span class=\"radio-field-text\">\u65e5\u672c<\/span>\n                                    <\/label>\n                                <\/span>\n                                                                <span class=\"radio-field horizontal-item\">\n                                    <label>\n                                        <input type=\"radio\" name=\"contactRegion\" value=\"region_ch\">\n                                        <span class=\"radio-field-text\">\u4e2d\u56fd\u5927\u9646<\/span>\n                                    <\/label>\n                                <\/span>\n                                                                <span class=\"radio-field horizontal-item\">\n                                    <label>\n                                        <input type=\"radio\" name=\"contactRegion\" value=\"region_tw\">\n                                        <span class=\"radio-field-text\">\u53f0\u6e7e<\/span>\n                                    <\/label>\n                                <\/span>\n                                                                <span class=\"radio-field horizontal-item\">\n                                    <label>\n                                        <input type=\"radio\" name=\"contactRegion\" value=\"region_hk\">\n                                        <span class=\"radio-field-text\">\u9999\u6e2f<\/span>\n                                    <\/label>\n                                <\/span>\n                                                                <span class=\"radio-field horizontal-item\">\n                                    <label>\n                                        <input type=\"radio\" name=\"contactRegion\" value=\"region_ko\">\n                                        <span class=\"radio-field-text\">\u97e9\u56fd<\/span>\n                                    <\/label>\n                                <\/span>\n                                                                <span class=\"radio-field horizontal-item\">\n                                    <label>\n                                        <input type=\"radio\" name=\"contactRegion\" value=\"region_sg\">\n                                        <span class=\"radio-field-text\">\u65b0\u52a0\u5761<\/span>\n                                    <\/label>\n                                <\/span>\n                                                                <span class=\"radio-field horizontal-item\">\n                                    <label>\n                                        <input type=\"radio\" name=\"contactRegion\" value=\"region_id\">\n                                        <span class=\"radio-field-text\">\u5370\u5ea6\u5c3c\u897f\u4e9a<\/span>\n                                    <\/label>\n                                <\/span>\n                                                                <span class=\"radio-field horizontal-item\">\n                                    <label>\n                                        <input type=\"radio\" name=\"contactRegion\" value=\"region_th\">\n                                        <span class=\"radio-field-text\">\u6cf0\u56fd<\/span>\n                                    <\/label>\n                                <\/span>\n                                                                <span class=\"radio-field horizontal-item\">\n                                    <label>\n                                        <input type=\"radio\" name=\"contactRegion\" value=\"region_us\">\n                                        <span class=\"radio-field-text\">\u7f8e\u56fd<\/span>\n                                    <\/label>\n                                <\/span>\n                                                                <span class=\"radio-field horizontal-item\">\n                                    <label>\n                                        <input type=\"radio\" name=\"contactRegion\" value=\"region_can\">\n                                        <span class=\"radio-field-text\">\u52a0\u62ff\u5927<\/span>\n                                    <\/label>\n                                <\/span>\n                                                                <span class=\"radio-field horizontal-item\">\n                                    <label>\n                                        <input type=\"radio\" name=\"contactRegion\" value=\"region_au\">\n                                        <span class=\"radio-field-text\">\u6fb3\u5927\u5229\u4e9a<\/span>\n                                    <\/label>\n                                <\/span>\n                                                                <span class=\"radio-field horizontal-item\">\n                                    <label>\n                                        <input type=\"radio\" name=\"contactRegion\" value=\"region_mys\">\n                                        <span class=\"radio-field-text\">\u9a6c\u6765\u897f\u4e9a<\/span>\n                                    <\/label>\n                                <\/span>\n                                                                <span class=\"radio-field horizontal-item\">\n                                    <label>\n                                        <input type=\"radio\" name=\"contactRegion\" value=\"region_phl\">\n                                        <span class=\"radio-field-text\">\u83f2\u5f8b\u5bbe<\/span>\n                                    <\/label>\n                                <\/span>\n                                                                <span class=\"radio-field horizontal-item\">\n                                    <label>\n                                        <input type=\"radio\" name=\"contactRegion\" value=\"region_gbr\">\n                                        <span class=\"radio-field-text\">\u82f1\u683c\u5170<\/span>\n                                    <\/label>\n                                <\/span>\n                                                                <span class=\"radio-field horizontal-item\">\n                                    <label>\n                                        <input type=\"radio\" name=\"contactRegion\" value=\"region_ita\">\n                                        <span class=\"radio-field-text\">\u610f\u5927\u5229<\/span>\n                                    <\/label>\n                                <\/span>\n                                                                <span class=\"radio-field horizontal-item\">\n                                    <label>\n                                        <input type=\"radio\" name=\"contactRegion\" value=\"region_fra\">\n                                        <span class=\"radio-field-text\">\u6cd5\u56fd<\/span>\n                                    <\/label>\n                                <\/span>\n                                                                <span class=\"radio-field horizontal-item\">\n                                    <label>\n                                        <input type=\"radio\" name=\"contactRegion\" value=\"region_deu\">\n                                        <span class=\"radio-field-text\">\u5fb7\u56fd<\/span>\n                                    <\/label>\n                                <\/span>\n                                                                <span class=\"radio-field horizontal-item\">\n                                    <label>\n                                        <input type=\"radio\" name=\"contactRegion\" value=\"region_other\">\n                                        <span class=\"radio-field-text\">\u5176\u4ed6<\/span>\n                                    <\/label>\n                                <\/span>\n                                                            <\/div>\n                            <p>\n                                <input type=\"text\" name=\"contactRegionText\" size=\"18\" value=\"\">\n                            <\/p>\n                            <span class=\"error-msg\"><\/span>\n                        <\/td>\n                    <\/tr>\n                    <tr>\n                        <th>\u4fe1\u606f\u7559\u8a00\u680f<span class=\"hissu\">*<\/span><\/th>\n                        <td>\n                            <textarea name=\"contactMessage\" cols=\"50\" rows=\"5\"><\/textarea>\n                            <span class=\"error-msg\"><\/span>\n                        <\/td>\n                    <\/tr>\n                <\/tbody>\n            <\/table>\n            <div class=\"submit\">\n                <input type=\"submit\" name=\"submitConfirm\" value=\"\u524d\u5f80\u8f93\u5165\u5185\u5bb9\u786e\u8ba4\" disabled style=\"opacity: 0.5;\">\n            <\/div>\n        <\/form>\n    <\/div>\n\n<script>\n    document.addEventListener('DOMContentLoaded', function() {\n        const form = document.querySelector('form[action*=\"contact_confirm\"]');\n        const submitBtn = form.querySelector('input[name=\"submitConfirm\"]');\n        const touchedFields = new Set();\n\n        const displayError = (fieldName, message) => {\n            const field = form.querySelector(`[name=\"${fieldName}\"]`);\n            if (!field) return;\n\n            \/\/ \u3010\u4fee\u6b63\u30dd\u30a4\u30f3\u30c8\u3011touchedFields\u306b\u7121\u304f\u3066\u3082\u3001\u4ed6\u306e\u9805\u76ee\u304c\u5165\u529b\u6e08\u307f\u306a\u306e\u306b\n            \/\/ \u3053\u3053\u304c\u672a\u5165\u529b\u306a\u3089\u8868\u793a\u5bfe\u8c61\u3068\u3059\u308b\uff08\u307e\u305f\u306f\u5168\u3066\u306e\u9805\u76ee\u3092\u30c1\u30a7\u30c3\u30af\u5bfe\u8c61\u306b\u3059\u308b\uff09\n            if (!touchedFields.has(fieldName)) return;\n\n            const errorDisplay = field.closest('td').querySelector('.error-msg');\n            if (errorDisplay) {\n                errorDisplay.textContent = message;\n                errorDisplay.style.color = 'red';\n                errorDisplay.style.fontSize = '0.8em';\n                errorDisplay.style.display = 'block';\n                errorDisplay.style.marginTop = '5px';\n            }\n        };\n\n        const clearError = (fieldName) => {\n            const field = form.querySelector(`[name=\"${fieldName}\"]`);\n            if (!field) return;\n            const errorDisplay = field.closest('td').querySelector('.error-msg');\n            if (errorDisplay) {\n                errorDisplay.textContent = '';\n            }\n        };\n\n        function isValidEmailFormat(email) {\n            const regex = \/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$\/;\n            return regex.test(email);\n        }\n\n        \/\/ --- \u8a31\u53ef\u3057\u306a\u3044\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u306e\u30ea\u30b9\u30c8 ---\n        const blacklistedEmails = ['exsample@exsample.com', 'test@test.com'];\n\n        function validateForm() {\n            let isValid = true;\n\n            \/\/ 1. \u304a\u540d\u524d\n            const name = form.querySelector('[name=\"contactName\"]');\n            if (!name.value.trim()) {\n                displayError('contactName', '\u5fc5\u586b\u3002');\n                isValid = false;\n            } else {\n                clearError('contactName');\n            }\n\n            \/\/ 2. \u30e1\u30fc\u30eb\n            const email = form.querySelector('[name=\"contactEmail\"]');\n            const emailValue = email.value.trim().toLowerCase(); \/\/ \u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u533a\u5225\u305b\u305a\u6bd4\u8f03\n            if (!emailValue) {\n                displayError('contactEmail', '\u5fc5\u586b\u3002');\n                isValid = false;\n            } else if (!isValidEmailFormat(emailValue)) {\n                displayError('contactEmail', '\u90ae\u7bb1\u5730\u5740\u8f93\u5165\u6709\u8bef\u3002');\n                isValid = false;\n            } else if (blacklistedEmails.includes(emailValue)) {\n                \/\/ \u3010\u8ffd\u52a0\u3011\u30d6\u30e9\u30c3\u30af\u30ea\u30b9\u30c8\u306e\u30c1\u30a7\u30c3\u30af\n                displayError('contactEmail', '\u8f93\u5165\u6709\u8bef\u3002');\n                isValid = false;\n            } else {\n                clearError('contactEmail');\n            }\n        \n            \/\/ 3. \u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u78ba\u8a8d\u7528\n            const email2 = form.querySelector('[name=\"contactEmail2\"]');\n            const email2Value = email2.value.trim().toLowerCase();\n\n            if (emailValue !== email2Value) {\n                displayError('contactEmail2', '\u90ae\u7bb1\u5730\u5740\u7684\u518d\u6b21\u786e\u8ba4 \u8f93\u5165\u4e0d\u4e00\u81f4\u3002');\n                isValid = false;\n            } else if (!email2Value) {\n                displayError('contactEmail2', '\u5fc5\u586b\u3002');\n                isValid = false;\n            } else {\n                clearError('contactEmail2');\n            }\n\n            \/\/ 4. \u9023\u7d61\u5148\u30e9\u30b8\u30aa\n            const infoChecked = form.querySelector('[name=\"contactInformation\"]:checked');\n            if (!infoChecked) {\n                displayError('contactInformation', '\u5fc5\u586b\u3002');\n                isValid = false;\n            } else {\n                clearError('contactInformation');\n            }\n\n            \/\/ 5. \u9023\u7d61\u5148\u30c6\u30ad\u30b9\u30c8\n            const infoText = form.querySelector('[name=\"contactInformationText\"]');\n            if (!infoText.value.trim()) {\n                displayError('contactInformationText', '\u5fc5\u586b\u3002');\n                isValid = false;\n            } else {\n                clearError('contactInformationText');\n            }\n\n            \/\/ 6. \u5730\u57df\u30e9\u30b8\u30aa\n            const regionChecked = form.querySelector('[name=\"contactRegion\"]:checked');\n            if (!regionChecked) {\n                displayError('contactRegion', '\u5fc5\u586b\u3002');\n                isValid = false;\n            } else {\n                clearError('contactRegion');\n            }\n\n            \/\/ 7. \u30e1\u30c3\u30bb\u30fc\u30b8\n            const msg = form.querySelector('[name=\"contactMessage\"]');\n            if (!msg.value.trim()) {\n                displayError('contactMessage', '\u5fc5\u586b\u3002');\n                isValid = false;\n            } else {\n                clearError('contactMessage');\n            }\n\n            submitBtn.disabled = !isValid;\n            submitBtn.style.opacity = isValid ? \"1\" : \"0.5\";\n            submitBtn.style.cursor = isValid ? \"pointer\" : \"not-allowed\";\n        }\n\n        \/\/ \u30a4\u30d9\u30f3\u30c8\u8a2d\u5b9a\n        form.querySelectorAll('input, textarea').forEach(field => {\n            \/\/ \u5168\u3066\u306e\u8981\u7d20\u306b\u304a\u3044\u3066\u300c\u4e00\u5ea6\u30d5\u30a9\u30fc\u30ab\u30b9\u304c\u5f53\u305f\u3063\u305f\u3089\uff08\u89e6\u308c\u3088\u3046\u3068\u3057\u305f\u3089\uff09\u300dtouched\u3068\u3059\u308b\n            field.addEventListener('focus', () => {\n                touchedFields.add(field.name);\n            });\n\n            field.addEventListener('blur', () => {\n                touchedFields.add(field.name);\n                validateForm();\n            });\n\n            field.addEventListener('change', () => {\n                touchedFields.add(field.name);\n                validateForm();\n            });\n        });\n\n        form.addEventListener('input', validateForm);\n        validateForm();\n    });\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>\u6d45\u8349\u516b\u91cd\u548c\u670d\uff0c\u65e5\u672c\u8001\u677f\u7ecf\u8425\u7684\u4f20\u7edf\u548c\u670d\u5e97\uff0c\u5b89\u5fc3\u6b63\u89c4\uff0c\u65e0\u8ffd\u52a0\u8d39\u7528\u3002\u6b65\u884c3\u5206\u949f\u5373\u53ef\u5230\u8fbe\u6d45\u8349\u5bfa\u3001\u96f7\u95e8\u3002 \u5957\u9910\u5185\u5bb9\u5305\u542b\u9f50\u5168\uff0c\u53ef\u8f7b\u677e\u524d\u6765\u3002<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":13,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-38","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/yae-japan.com\/zh\/wp-json\/wp\/v2\/pages\/38","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yae-japan.com\/zh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/yae-japan.com\/zh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/yae-japan.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yae-japan.com\/zh\/wp-json\/wp\/v2\/comments?post=38"}],"version-history":[{"count":7,"href":"https:\/\/yae-japan.com\/zh\/wp-json\/wp\/v2\/pages\/38\/revisions"}],"predecessor-version":[{"id":14852,"href":"https:\/\/yae-japan.com\/zh\/wp-json\/wp\/v2\/pages\/38\/revisions\/14852"}],"wp:attachment":[{"href":"https:\/\/yae-japan.com\/zh\/wp-json\/wp\/v2\/media?parent=38"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}