Как выбрать значение из нескольких выбранных HTML - PullRequest
0 голосов
/ 11 мая 2019

У меня есть эта форма с выбором:

<form name="form" method="post" action="registr.php">
  <select name="type">
    <option value="std">Standard</option>
    <option value="stud">Student</option>
    <option selected hidden value=""></option>
  </select>
  <input type="submit" value="Invia" onclick="return validation();">
</form>

Я должен проверить отправляемые данные с помощью функции javaScript. если я не выбрал ни студента, ни стандарт, форма должна вернуть false. это функция, но она не работает:

function validation() {
  var type = document.form.type.value;
  if (type == "") {
    return false;
  }
  return true;
}

Ответы [ 4 ]

0 голосов
/ 11 мая 2019

Ваш скрипт работает, вы также можете попытаться добавить id к вашему выбору:

function validation() {
  var id = document.getElementById("selecttype");
  var type = id.options[id.options.selectedIndex].value;
  if (type == "") {
    return false;
  }
  return true;
}
  

<form name="form" method="post" action="registr.php">
  <select name="type" id="selecttype">
    <option value="std">Standard</option>
    <option value="stud">Student</option>
    <option selected hidden value=""></option>
  </select>
  <input type="submit" value="Invia" onclick="return validation();">
  </form>
0 голосов
/ 11 мая 2019

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

<form name="form" method="post" onsubmit="return validation();" action="registr.php">
<select name="type">
<option value="std">Standard</option>
<option value="stud">Student</option>
<option selected hidden value=""></option>
</select>
<input type="submit" value="Invia">
</form>
0 голосов
/ 11 мая 2019

Кажется, вы неправильно обращаетесь к полю выбора.Попробуйте это

var type = document.forms[0].elements.type.value;
0 голосов
/ 11 мая 2019

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

function validation() {
  var type = document.form.type.value;
  if (type == "") {
    alert("Please select something");
    return false;
  }
  return true;
}
<form name="form" method="post" action="registr.php" onsubmit="return validation();">
  <select name="type">
    <option value="std">Standard</option>
    <option value="stud">Student</option>
    <option selected hidden value=""></option>
  </select>
  <input type="submit" value="Invia">
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...