Что означает значение атрибута value для флажков в HTML? - программирование
Подтвердить что ты не робот

Что означает значение атрибута value для флажков в HTML?

Предположим, что этот фрагмент кода:

<input type="checkbox" value="1">Is it worth?</input>

Есть ли причина статического определения атрибута value флажков в HTML? Что это значит?

4b9b3361

Ответ 1

Надеюсь, я правильно понимаю ваш вопрос.

Атрибут value определяет значение, которое отправляется посредством запроса POST (т.е. у вас есть форма HTML, представленная на сервере). Теперь сервер получает имя (если определено) и значение.

<form method="post" action="urlofserver">
    <input type="checkbox" name="mycheckbox" value="1">Is it worth?</input>
</form>

Сервер получит mycheckbox со значением 1.

в PHP эта переменная POST хранится в массиве как $_POST['mycheckbox'], который содержит 1.

Ответ 2

Я просто хотел прокомментировать комментарий Адриано Сильвы. Чтобы получить то, что он описывает для работы, вам нужно добавить "[]" в конце атрибута name, поэтому, если мы возьмем его пример, правильный синтаксис должен быть:

<input type = "checkbox" name="BrandID[]" value="1">Ford</input>
<input type = "checkbox" name="BrandID[]" value="2">GM</input>
<input type="checkbox" name="BrandId[]" value="3">Volkswagen</input>

Затем вы используете что-то вроде: $test = $_POST ['BrandID']; (Разум не нужен для [] после BrandID в php-коде). Что даст вам массив значений, значения в массиве - это флажки, отмеченные знаками.

Надеюсь, это поможет!:)

Ответ 3

Одной из причин является простота работы со значениями в системе.

<input type="checkbox" name="BrandId" value="1">Ford</input>
<input type="checkbox" name="BrandId" value="2">GM</input>
<input type="checkbox" name="BrandId" value="3">Volkswagen</input>

Ответ 4

Когда форма отправляется, данные в атрибуте value используются как значение ввода формы, если флажок установлен. Значение по умолчанию - "on".

$('form').on('change', update).trigger('change')

function update() {
  var form = $(this)
  form.find('output').text('→ ' + form.serialize())
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<form>
  <input type="checkbox" name="foo">
  <output></output>
</form>

<form>
  <input type="checkbox" name="foo" checked>
  <output></output>
</form>

<form>
  <input type="checkbox" name="foo" value="1" checked>
  <output></output>
</form>

<form>
  <input type="checkbox" name="foo" value="bananas" checked>
  <output></output>
</form>