Показать сообщение отдельно
  #4 (permalink)  
Старый 23.01.2018, 14:38
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

pokk,
Вариант, часто используемый при проверке заполнения форм:
Выдавать сообщение об ошибке заметным шрифтом рядом с неправильно заполненным элементом и не отправлять форму.
От такого не откажешься - будет мучить, пока не заполнишь правильно

<form id="test">
  <table id="tbl">
    <tr>
       <td>Фамилия</td>
       <td><input type="text"></td>
       <td style="color:red"></td>
    </tr>
    <tr>
       <td>Имя</td>
       <td><input type="text"></td>
       <td style="color:red"></td>
    </tr>
    <tr>
       <td>Отчество</td>
       <td><input type="text"></td>
       <td style="color:red"></td>
    </tr>
  </table>
  <input type="submit">
</form>
<script>
test.onsubmit = function(e) {

   var error = false;
   [].forEach.call(tbl.rows, function(el) {
       if(el.cells[1].querySelector("input").value == "")  { 
            el.cells[2].innerText = "Обязательно заполнить!!!";
            error = true;
       }
       else {
            el.cells[2].innerText = ""; 
       }
   });
   if (error) { e.preventDefault() }
   else { alert("Отправлено")}
}
</script>

Последний раз редактировалось Dilettante_Pro, 23.01.2018 в 15:48.
Ответить с цитированием