@Genri_Rus

Как можно остановить blur после ajax отправки формы?

Вот пример: https://codepen.io/Genri_Rus/pen/OJyKGeo

При submit у меня вызывается функция formBlur()

Но как можно остановить функцию formBlur после отправки формы (success) ?
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
like-a-boss
@like-a-boss
признайся, тебя тянет на код мужика
Никак. К моменту саксэсса, функция будет полностью выполнена. В саксэссе нужно просто выполнить действия обратные действиям в функции formBlur.

Примитивный пример реализации валидации:
$(document).on('submit', 'form', function(e) {
  e.preventDefault();
  
  if ( !formValidate(this) ) return;
	console.log('send.')
  
  $.ajax({
    type: "POST",
    url: 'url',
    data: '',
    success: function(data) {
      console.log(data);
    },
	error: function(e) {
      console.warn(e);
	}
  });
});

function formValidate(form) {
  for (var i = 0; i < form.children.length; i++) {
    if (form.children[i].type !== 'submit' && form.children[i].value.length === 0) {
      // form.children[i].value.length === 0
      // это условие можно модифицировать
      console.log('bad value in', form.children[i]);
      form.children[i].focus();
      return false;
    }
  }
  return true;
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы