在我的项目中,当我单击一个按钮时,如果该字段为空,它会在该字段旁边返回一个错误,问题是如何在发生错误时将客户端返回到错误的确切位置,而不仅仅是以表单为例,如果错误出现在Number字段中,则应在 number 字段上返回,如果在Name字段上则在 name 字段上,如何实现?
// Это моя проверка на пустоту
beforeSend: function() {
let a = false;
if (email == '') {
$("#email_error").show();
a = true;
}
if (firstName == '') {
$("#firstName_error").show();
a = true;
}
if (phone == '') {
$("#phone_error").show();
a = true;
}
if (a) return false;
},
<! -- Как выглядит мое поле input и вывод ошибки -->
<input type="tel" class="field interTel datas phone_number" id="phone" name="phone" onkeyup="showOrHideBlock('phone_error','phone')" onchange="showBlock3()">
<strong><small id="phone_error" class="form-text text-"
style="display: none; color: crimson">
Вы не указали телефон</small></strong>
<! -- Кнопка -->
<button type="submit" id="sendOrder" class="button button--prime">
Рассчитать
</button>
每个错误都有自己唯一的 id,我们可以使用它来将用户锚定到这个 id (/#id),或者使用 jq 和 scrollTop 函数,据我所知,它只会滚动到所需的元素。ps:它还有很多很容易google的功能(动画、滚动速度等)。这是一个应该立即滚动到错误的选项。您可以替换它,以便滚动不在错误之前,而是直到输入本身,方法是给它一个 id(这已经由您实现)并将这个 id 传递给 scrollTop。如果您仍然滚动到错误本身,那么我建议将元素 id 放入一个单独的变量中(我在电话错误示例中这样做),只是为了使代码更易于编辑。
UPD 注释代码: 返回出错的地方