Если в HTML-форме есть две кнопки , как узнать, что было нажато?

Предположим, что у меня есть следующая форма HTML:

...

Как узнать, на какую кнопку нажал пользователь (без использования javascript)?

Я просмотрел представленные данные, и кажется, что при нажатии "queue" = "Queue Item" на сервер отправляется "queue" = "Queue Item" . И когда нажимается "Submit item" тогда "submit" = "Submit item" .

Могу ли я полагаться на это поведение? Документировано ли где-то в стандарте HTML-формы? Как вы, ребята, это делаете?

Да, вы можете положиться на это; он полностью документирован здесь . В конкретных соответствующих строках говорится:

Когда форма представляется для обработки, некоторые элементы управления имеют свое имя в паре с их текущим значением, и эти пары передаются с формой. Те элементы управления, для которых представлены пары имя / значение, называются успешными элементами управления.

а также

Если форма содержит более одной кнопки, только активированная кнопка отправки успешно завершена.

Да, вы можете положиться на это поведение.

Когда будет нажата кнопка , поле «queue» будет установлено, и «отправить» не будет.

В то время как, когда нажимается другая, поле «submit» будет установлено, а «queue» не будет.

Если вы не уверены в этом, вы можете разбить их на две формы и работать над этим.

Вы можете положиться на это поведение. Вы получаете значение ввода. Я бы использовал javascript для переключения значения скрытой формы, но поскольку вы не javascript ни один javascript вас нет нескольких вариантов.

Это стандарт. Поскольку это тег input и имеет value , это означает, что вы получаете представленное value .

Разделите форму на две формы, реплицируя любые другие входы, необходимые для другого действия. Или, если вам просто нужно знать, хочет ли пользователь «отправить в очередь или отправить» элемент, измените обе кнопки отправки на радиовыборы, чтобы переключаться между двумя параметрами, и иметь новую отдельную кнопку «отправить форму».

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