Как проверить правильность ввода формы и запустить функцию? - PullRequest
0 голосов
/ 13 апреля 2020

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

Мне просто нужно проверить, что что-то было введено. Если это так, то форма будет отправлена ​​и будет вызвана функция.

На этом этапе я просто пытаюсь получить базовый пример c, работающий с минимальным количеством кода. Я думал о чем-то вроде следующего:

HTML

<!DOCTYPE html>
<html>
  <head>
    <script
      src="https://code.jquery.com/jquery-3.4.1.min.js"
      integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
      crossorigin="anonymous">
    </script>
  </head>
  <body>
    <form name="myForm" onSubmit="return myFunctionName(event)">
      <input id="postcode" name="postcode" required>
      <input type="submit" value="Click Me">
    </form>
  </body>
</html>

jQuery

<script>
var postreg = /^\d{6}$/;
var postcode = document.getElementById("postcode").value;
function myFunctionName(e) {
  e.preventDefault();
  if (postcode.match(postreg)) {
    alert('success');
  } else {
    alert('please enter the correct 6 digit postcode');
  }
 }
 </script>

1 Ответ

1 голос
/ 13 апреля 2020

Сделать поле required:

function myFunctionName(e) {
  e.preventDefault(); // just so you can see the below log
  console.log('calling some other function');
}
<form name="myForm" onSubmit="return myFunctionName(event)">
  <input type="text" name="myText" required>
  <input type="submit" value="Click Me">
</form>

Чтобы использовать регулярное выражение со входом, используйте атрибут pattern:

function myFunctionName(e) {
  e.preventDefault();
  console.log('submitting...');
}
<form name="myForm" onSubmit="return myFunctionName(event)">
  <input id="postcode" name="postcode" required pattern="\d{6}">
  <input type="submit" value="Click Me">
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...