Запрещение пользователю оставлять поле ввода пустым с помощью метода javascript getElementsByClassName

Создал форму. Я просто хочу провести проверку формы. Используется javascript для выполнения этой работы. Внутри кода jS создана функция с именем check. В этой функции, если какой-то пользователь оставляет поле ввода пустым, функция возвращает false, и таким образом, я думаю, может ограничить пользователя, но не происходит. Мой вопрос касается как метода getElement .. (), так и проверки формы.

function check(){
  //fname is the value provided into the input field
    var fname = document.getElementsByClassName('fname').value;
    //checks the inpur field and it is blank then return false
    if (fname == '') {
    return false;
  }
  else {
  //if the input field is provided then will pass the validity
    return true;
  }
}
<div class = "form">
<!-- created the class here and named form-->
  <form class = "" action = "output.html.php" method = "post" onsubmit = "return check()">
  <!-- called the check function-->
    <input class = "fname" type = "text" name = "name" value = "" placeholder = "Name">
    <button type = "submit" name = "button">Send</button>
  </form>
</div>

@jordiburgos он не возится с фокусом, просто проверяет, действительно ли значение для размытия, это нормально.

Eugene Tsakh 12.10.2018 19:21

Вы также можете добавить регулярное выражение pattern к своим входным данным, чтобы вы могли дать пользователю визуальную индикацию того, какие поля содержат ошибки.

Andy 12.10.2018 19:25
<input required> намного проще и работает без js
dandavis 12.10.2018 19:35
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
5
160
2

Ответы 2

Проблема в том, что getElementsByClassName возвращает массив, поэтому вы должны использовать либо document.getElementsByClassName('fname')[0].value, либо document.querySelector('.fname').value (querySelector возвращает только первый найденный объект)

Спасибо, помогло.

tusharkanta19 12.10.2018 19:22

Вот мой полный код после выполнения.

function check(){
  //fname is the value provided into the input field
    var fname = document.getElementsByClassName('fname')[0].value;
  //var fname = document.querySelector('.fname').value;
    
    //checks the input field and if it is blank then return false
    if (fname == '') {
    return false;
  }
  else {
  //if the input field is provided then will pass the validity
    return true;
  }
}
<div class = "form">
<!-- created the class here and named form-->
  <form class = "" action = "output.html.php" method = "post" onsubmit = "return check()">
  <!-- called the check function-->
    <input class = "fname" type = "text" name = "name" value = "" placeholder = "Name">
    <button type = "submit" name = "button">Send</button>
  </form>
</div>

Другие вопросы по теме