Если у вас несколько кнопок отправки, вы можете определить, назначив каждому из них уникальный атрибут имени, например:
<input type="submit" name="submit1" value="Submit 1"/>
<input type="submit" name="submit2" value="Submit 2"/>
<input type="submit" name="submit3" value="Submit 3"/>
Тот, который находится в фокусе, отправляется вместе с отправкой формы, поэтому, если вы нажмете тот, который имеет имя «submit2», он появится в форме POST (или GET). Если нажата клавиша enter, первая кнопка в источнике (в данном случае submit1) считается кнопкой по умолчанию и отправляется вместе. Вы можете настроить его на отображение: ни одного, чтобы использовать его в качестве фиктивного для определения, была ли нажата кнопка ввода, против фактического нажатия кнопки отправки.
EDIT:
В ответ на ваши комментарии, чтобы зафиксировать нажатие клавиши ввода в определенных элементах, вы можете сделать это с помощью jQuery.
Обратите внимание, вам нужно будет указать атрибуты id first_name и add_item и превратить add_item в type = "button" вместо type = "submit".
HTML:
<form action="" method="POST">
<input type="text" name="first_name"/>
<input type="text" id="item" name="item"/>
<input type="button" id="add_item" value="Add item"/>
<input type="submit" value="Submit"/>
</form>
JS:
$("#item").keydown(function(event){
if(event.keyCode == 13) {
addFields();
event.preventDefault();
event.stopPropagation();
}
});
$("#add_item").click(function(event) {
addFields();
});