Intereting Posts
Greasemonkey: выделите много слов в HTML-файле Предотrotation JQUERY .load из кеша Ориентация элементов гибкости в последней строке Как я могу удалить всплывающую подсказку «Нет файла» из ввода файла в Chrome? Я хочу заполнить вторую форму выбора, основанную на первом выборе. Оба извлекают свои элементы из базы данных sql Установите выбранные элементы в страницах бритвы asp.core IE компенсирует и игнорирует высоту / ширину контуров анкерного фокуса? Увеличение размера флажка в HTML Internet Explorer 11 с использованием медиа-запроса css Почему не маржировать: автоцентрировать изображение? Как показать всплывающее окно всплывающего windows в javascript? Как отправить изображение в функции почты PHP Ссылка на подмножество сущности должна заканчиваться символом ‘;’ разделитель В чем разница между применением правил CSS для html по сравнению с телом? Якоря HTML в ноутбуке Jupyter на Github

Как показать сообщение проверки под каждым текстовым полем с помощью jquery?

Я пытаюсь сделать форму входа, в которой у меня есть адрес электронной почты и пароль в качестве текстового поля. Я сделал проверку на части адреса электронной почты, чтобы у нее был правильный адрес электронной почты, а также на пустой флажок для текстового поля для адреса электронной почты и пароля.

Вот мой jsfiddle .

На данный момент я добавил окно с предупреждением: « Invalid если текстовое поле электронной почты и пароль пуст. Вместо этого я хотел бы показать простое сообщение чуть ниже каждого текстового поля, пожалуйста, введите свой адрес электронной почты или пароль, если они пустые?

Так же, как это было сделано здесь, в блоке sitepoint .

Можно ли это сделать в моей текущей форме html?

Обновить:-

  

Sign In

И мой js –

  $(document).ready(function() { $('form').on('submit', function (e) { e.preventDefault(); if (!$('#email').val()) { if ($("#email").parent().next(".validation").length == 0) // only add if not added { $("#email").parent().after("
Please enter email address
"); } } else { $("#email").parent().next(".validation").remove(); // remove it } if (!$('#password').val()) { if ($("#password").parent().next(".validation").length == 0) // only add if not added { $("#password").parent().after("
Please enter password
"); } } else { $("#password").parent().next(".validation").remove(); // remove it } }); });
. $(document).ready(function() { $('form').on('submit', function (e) { e.preventDefault(); if (!$('#email').val()) { if ($("#email").parent().next(".validation").length == 0) // only add if not added { $("#email").parent().after("
Please enter email address
"); } } else { $("#email").parent().next(".validation").remove(); // remove it } if (!$('#password').val()) { if ($("#password").parent().next(".validation").length == 0) // only add if not added { $("#password").parent().after("
Please enter password
"); } } else { $("#password").parent().next(".validation").remove(); // remove it } }); });
. $(document).ready(function() { $('form').on('submit', function (e) { e.preventDefault(); if (!$('#email').val()) { if ($("#email").parent().next(".validation").length == 0) // only add if not added { $("#email").parent().after("
Please enter email address
"); } } else { $("#email").parent().next(".validation").remove(); // remove it } if (!$('#password').val()) { if ($("#password").parent().next(".validation").length == 0) // only add if not added { $("#password").parent().after("
Please enter password
"); } } else { $("#password").parent().next(".validation").remove(); // remove it } }); });

Я работаю с JSP и сервлетами, поэтому, как только я нажимаю кнопку «Вход», он отправляет меня на другую страницу с действующим адресом электронной почты и паролем раньше, но теперь ничего не происходит после нажатия кнопки «Вход» с действительным адресом электронной почты и паролем.

Любые мысли, что может быть неправильным?

Вы можете поместить статические элементы после полей и показать их, или вы можете ввести сообщение проверки динамически. Ниже приведен пример того, как динамически вводить инъекции.

Этот пример также следует наилучшей практике настройки фокуса на пустое поле, чтобы пользователь мог легко исправить проблему.

Обратите внимание, что вы можете легко обобщить это для работы с любым ярлыком и полем (для обязательных полей в любом случае), вместо моего примера, который специально кодирует каждую проверку.

Ваша скрипка обновлена, см. Здесь: jsfiddle

Код:

 $('form').on('submit', function (e) { var focusSet = false; if (!$('#email').val()) { if ($("#email").parent().next(".validation").length == 0) // only add if not added { $("#email").parent().after("
Please enter email address
"); } e.preventDefault(); // prevent form from POST to server $('#email').focus(); focusSet = true; } else { $("#email").parent().next(".validation").remove(); // remove it } if (!$('#password').val()) { if ($("#password").parent().next(".validation").length == 0) // only add if not added { $("#password").parent().after("
Please enter password
"); } e.preventDefault(); // prevent form from POST to server if (!focusSet) { $("#password").focus(); } } else { $("#password").parent().next(".validation").remove(); // remove it } });
. $('form').on('submit', function (e) { var focusSet = false; if (!$('#email').val()) { if ($("#email").parent().next(".validation").length == 0) // only add if not added { $("#email").parent().after("
Please enter email address
"); } e.preventDefault(); // prevent form from POST to server $('#email').focus(); focusSet = true; } else { $("#email").parent().next(".validation").remove(); // remove it } if (!$('#password').val()) { if ($("#password").parent().next(".validation").length == 0) // only add if not added { $("#password").parent().after("
Please enter password
"); } e.preventDefault(); // prevent form from POST to server if (!focusSet) { $("#password").focus(); } } else { $("#password").parent().next(".validation").remove(); // remove it } });
. $('form').on('submit', function (e) { var focusSet = false; if (!$('#email').val()) { if ($("#email").parent().next(".validation").length == 0) // only add if not added { $("#email").parent().after("
Please enter email address
"); } e.preventDefault(); // prevent form from POST to server $('#email').focus(); focusSet = true; } else { $("#email").parent().next(".validation").remove(); // remove it } if (!$('#password').val()) { if ($("#password").parent().next(".validation").length == 0) // only add if not added { $("#password").parent().after("
Please enter password
"); } e.preventDefault(); // prevent form from POST to server if (!focusSet) { $("#password").focus(); } } else { $("#password").parent().next(".validation").remove(); // remove it } });

CSS:

  .validation { color: red; margin-bottom: 20px; } 

То, как я это сделаю, – создать tags абзацев, где вы хотите, чтобы ваши сообщения об ошибках с одним и тем же classом отображались, когда данные недействительны. Вот моя скрипка

 if ($('#email').val() == '' || !$('#password').val() == '') { $('.loginError').show(); return false; } 

Я также добавил tags абзаца под входами электронной почты и пароля

  

Это простое решение может сработать для вас.

Проверьте это решение

 $('form').on('submit', function (e) { e.preventDefault(); var emailBox=$("#email"); var passBox=$("#password"); if (!emailBox.val() || !passBox.val()) { $(".validationText").text("Please Enter Value").show(); } else if(!IsEmail(emailBox.val())) { emailBox.prev().text("Invalid E-mail").show(); } $("input#email, input#password").focus(function(){ $(this).prev(".validationText").hide(); });}); 

это только вопрос нахождения dom, где вы хотите вставить текст.

DEMO jsfiddle

 $().text(); 

Ну вот:

JS:

 $('form').on('submit', function (e) { e.preventDefault(); if (!$('#email').val()) $('#email').parent().append('Please enter your email address.'); if(!$('#password').val()) $('#password').parent().append('Please enter your password.'); }); 

CSS:

 @charset "utf-8"; /* CSS Document */ /* ---------- FONTAWESOME ---------- */ /* ---------- http://fortawesome.github.com/Font-Awesome/ ---------- */ /* ---------- http://weloveiconfonts.com/ ---------- */ @import url(http://weloveiconfonts.com/api/?family=fontawesome); /* ---------- ERIC MEYER'S RESET CSS ---------- */ /* ---------- http://meyerweb.com/eric/tools/css/reset/ ---------- */ @import url(http://meyerweb.com/eric/tools/css/reset/reset.css); /* ---------- FONTAWESOME ---------- */ [class*="fontawesome-"]:before { font-family: 'FontAwesome', sans-serif; } /* ---------- GENERAL ---------- */ body { background-color: #C0C0C0; color: #000; font-family: "Varela Round", Arial, Helvetica, sans-serif; font-size: 16px; line-height: 1.5em; } input { border: none; font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; -webkit-appearance: none; } /* ---------- LOGIN ---------- */ #login { margin: 50px auto; width: 400px; } #login h2 { background-color: #f95252; -webkit-border-radius: 20px 20px 0 0; -moz-border-radius: 20px 20px 0 0; border-radius: 20px 20px 0 0; color: #fff; font-size: 28px; padding: 20px 26px; } #login h2 span[class*="fontawesome-"] { margin-right: 14px; } #login fieldset { background-color: #fff; -webkit-border-radius: 0 0 20px 20px; -moz-border-radius: 0 0 20px 20px; border-radius: 0 0 20px 20px; padding: 20px 26px; } #login fieldset div { color: #777; margin-bottom: 14px; } #login fieldset p:last-child { margin-bottom: 0; } #login fieldset input { -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; } #login fieldset .error { display: block; color: #FF1000; font-size: 12px; } } #login fieldset input[type="email"], #login fieldset input[type="password"] { background-color: #eee; color: #777; padding: 4px 10px; width: 328px; } #login fieldset input[type="submit"] { background-color: #33cc77; color: #fff; display: block; margin: 0 auto; padding: 4px 0; width: 100px; } #login fieldset input[type="submit"]:hover { background-color: #28ad63; } 

HTML:

 

Sign In

И скрипка: jsfiddle