输入 name="phone" 带有数字掩码。当您输入电话号码时,它将包含一个值,例如“+357 91-111-111”。在提交表单之前,我处理这个值,将其转换为类似“+35791111111”的字符串(这是需要发送的表单)。但分配时,该值不会被完全替换(表单发送“+357 93-579-111”),而是添加到常量掩码值中并保留所有不必要的字符。我怀疑问题出在掩码脚本的细节上,但我仍然想通过保留掩码脚本来解决这个问题
$(document).ready(function () {
$("#phone").inputmask({
mask: "+357 \\99-999-999",
});
});
document
.getElementById("lead-form")
.addEventListener("submit", function (event) {
let phoneInput = this.phone.value;
console.log(phoneInput); //+357 91-111-111
function transformPhoneNumber(phone) {
// Удаляем все символы, кроме цифр
return phone.replace(/[^\d]/g, "");
}
const value = transformPhoneNumber(phoneInput);
console.log(value); //35791111111
// Проверка длины введенного номера
if (value.length < 11) {
event.preventDefault(); // Запретить отправку формы
return;
} else {
// Получаем значение из скрытого инпута
const phonecc = this.phonecc.value; //тут пока просто будет знак "+"
// Добавляем значение в phone
console.log(phonecc + value); //+35791111111
this.phone.value = phonecc + value;
console.log(this.phone.value); //+357 93-579-111 !!!!
// Форма будет отправлена с обновленным значением
this.submit();
}
});