Предлагаемое решение
Наиболее удобный способ - использовать HTML проверки формы, обработанные браузером (required
), как указано epascarello
К сожалению, ваш выбор имеет первый вариант по умолчанию. Вы можете просто добавить опцию-заполнитель без значения. Это предотвратит отправку формы без выбора.
Если вы не хотите отображать ее, вы можете скрыть эту опцию для пользователя. Второй выберите в примере.
Добавлен третий ввод, чтобы ответить на ваш вопрос в комментарии. Отсутствие значения означает, что по умолчанию будет использоваться содержимое тега <option>
. Это будет работать, только если у вас нет текста в этой опции.
<form id="my_form">
<select required name="form1" form="my_form">
<option value>Placeholder</option>
<option value="Option 1">Option 1</option>
<option value="Option 2">Option 2</option>
</select>
<select required name="form2" form="my_form">
<option hidden disabled selected value>Choose an option</option>
<option value="Option 1">Option 1</option>
<option value="Option 2">Option 2</option>
</select>
<select required name="form3" form="my_form">
<option>I'm the value if none set</option>
<option value="Option 1">Option 1</option>
<option value="Option 2">Option 2</option>
</select>
<input type="submit" value="Send">
</form>