jQuery(document).ready(function($) { "use strict"; //Contact $('form.contactForm').submit(function() { var f = $(this).find('.form-group'), ferror = false, emailExp = /^[^\s()<>@,;:\/]+@\w[\w\.-]+\.[a-z]{2,}$/i; f.children('input').each(function() { // run all inputs var i = $(this); // current input var rule = i.attr('data-rule'); if (rule !== undefined) { var ierror = false; // error flag for current input var pos = rule.indexOf(':', 0); if (pos >= 0) { var exp = rule.substr(pos + 1, rule.length); rule = rule.substr(0, pos); } else { rule = rule.substr(pos + 1, rule.length); } switch (rule) { case 'required': if (i.val() === '') { ferror = ierror = true; } break; case 'minlen': if (i.val().length < parseInt(exp)) { ferror = ierror = true; } break; case 'email': if (!emailExp.test(i.val())) { ferror = ierror = true; } break; case 'checked': if (!i.attr('checked')) { ferror = ierror = true; } break; case 'regexp': exp = new RegExp(exp); if (!exp.test(i.val())) { ferror = ierror = true; } break; } i.next('.validation').html((ierror ? (i.attr('data-msg') !== undefined ? i.attr('data-msg') : 'wrong Input') : '')).show('blind'); } }); f.children('textarea').each(function() { // run all inputs var i = $(this); // current input var rule = i.attr('data-rule'); if (rule !== undefined) { var ierror = false; // error flag for current input var pos = rule.indexOf(':', 0); if (pos >= 0) { var exp = rule.substr(pos + 1, rule.length); rule = rule.substr(0, pos); } else { rule = rule.substr(pos + 1, rule.length); } switch (rule) { case 'required': if (i.val() === '') { ferror = ierror = true; } break; case 'minlen': if (i.val().length < parseInt(exp)) { ferror = ierror = true; } break; } i.next('.validation').html((ierror ? (i.attr('data-msg') != undefined ? i.attr('data-msg') : 'wrong Input') : '')).show('blind'); } }); if (ferror) return false; else var str = $(this).serialize(); if(checkMailEmailFromURL(str)){ $.ajax({ type: "POST", url: "/contactform/sendMail.asp", data: { "str": escape(str)}, success: function(msg) { //getUserIP(); if (msg == 'OK') { $("#sendmessage").addClass("d-block"); $("#submit-button").addClass("d-none"); $("#errormessage").removeClass("d-block"); $('.contactForm').find("input, textarea").val(""); } } }); } return false; }); }); async function getUserIP() { try { // 获取IP地址 let data = await $.getJSON('https://api.ipify.org?format=json'); //console.log(data.ip); } catch (error) { console.error('Error:', error); } } function checkMailEmailFromURL(url) { // 解析URL参数 const params = new URLSearchParams(url); // 获取MailEmail的值 const MailEmail = params.get('MailEmail'); // 检查MailEmail是否为空或null或字符串"null" if (!MailEmail || MailEmail === "null") { return false; } return true; }