Я использую проверку jQuery с помощью пульта дистанционного управления для проверки наличия адреса электронной почты. Не спрашивайте меня, почему, но мне нужно перенаправить на новую страницу, если совпадение найдено в базе данных (false), в противном случае они должны иметь возможность использовать форму в обычном режиме.Остановить jQuery Ajax Успех от предотвращения отправки формы
Этот код отлично работает. ЗА ИСКЛЮЧЕНИЕМ: если он возвращает true (это означает, что он не перенаправляется), кнопка отправки формы ничего не делает. Я не вижу никаких атрибутов, назначенных как отключенные, но представление формы предопределено. Если я не наберу ничего на входе электронной почты, это позволит мне нажать кнопку.
rules: {
fullname: "required",
email: {
required: true,
email: true,
remote: {
url: "validate-email.php",
type: "post",
success: function(response) {
if(response === false){
window.location.href = 'new-page.html';
}
},
},
},
},
раз я удаляю успеха: раздел, представление формы работает нормально, так очевидно, что-то делать с тем, что я сделал там ... Спасибо заранее за вашу помощь!
Да, поскольку я попытался объяснить [мой комментарий] (http://stackoverflow.com/questions/35372364/jquery-validate-remote-redirect-page-on-false#comment58450895_35372364) по [вашему другому вопросу] (http://stackoverflow.com/q/35372364/594235) ... используйте код на стороне сервера, чтобы выполнить перенаправление на 'false'. По умолчанию, когда 'true' отсылается обратно от PHP, правило' remote' автоматически выполняется. Используя опцию 'success', вы нарушаете эту стандартную функциональность. – Sparky
Я создал новый вопрос, потому что думал, что это будет путать. Я попытался добавить его в php-скрипт и ничего не сделал. Обращение к простому заголовку (Location: 'new-page.html'); правильно? –
Плагин validation объединяет ваши опции 'remote:' в свой вызов '$ .ajax'. Он имеет свою функцию 'success:', которая обрабатывает ответ так, чтобы он мог отметить элемент действительным или недействительным. Но ваша функция 'success' переопределяет это, поэтому проверка не работает. – Barmar