Невозможно передать свойства входных данных, кроме имени и значения, однако вы можете иметь скрытые входные данные в форме с любой информацией, которую хотите, и вы даже можете создавать их или динамически заполнять их даже при нажатии кнопки или событие отправки формы.
В качестве другого варианта я бы добавил информацию в значение кнопки в форме JSON, поскольку значение кнопки обычно в любом случае не имеет смысла.
И если вы действительно ищите идеи, вы можете вставить информацию в строку запроса URL-адреса в атрибуте действия формы, а затем получить информацию, проверив массив GET (однако, если метод формы get вместо публикации значения могут быть перезаписаны!)
Но если проблема заключается только в том, что вам нужен способ различать множество кнопок, просто укажите другое имя или значение для каждой из них, и это, вероятно, единственная причина, по которой кнопки имеют имена и значения.
Что касается ответа andrejd, обратите внимание, что хотя вы можете использовать функцию onSubmit для отправки с Ajax, а затем вернуть false, чтобы отменить отправку по умолчанию, обратите внимание, что при таком подходе существуют следующие проблемы:
1) Функция onSubmit не знает, какая кнопка была нажата, однако вместо этого вы можете использовать событие onClick для кнопки, но вам придется привязываться к каждой кнопке отправки в форме (вы можете сделать это намного проще с помощью jquery и др.)
2) Поскольку Ajax не влияет на содержимое страницы, поэтому ypu будет обновлять его самостоятельно или перемещаться по странице самостоятельно, последнее можно сделать с помощью «location.href»
3) Если вы отправляете файлы, вам будет сложно делать это с ajax, вы можете попробовать использовать плагин jquery fileupload.
4) Ajax ограничен одним и тем же источником (что-то вроде отправки формы tgat), вы можете попытаться обойти его, используя JSONP.
5) Ajax не будет работать, если клиент не имеет JavaScript (например, некоторые мобильные телефоны или некоторые текстовые браузеры, такие как браузеры Linux), или отключил JavaScript, или использует более старый браузер, и в целом это не рекомендуется полагаться исключительно на Ajax, но вместо этого, по крайней мере, предоставить альтернативу для этих случаев.
Для задач 2-4 вы можете также решить их, добавив в Ajax только дополнительный контент, а затем вернув true, чтобы отправка по умолчанию отправляла форму.