Html множественная отправка формы с помощью javascript по нажатию клавиши

У меня есть приложение django, которое состоит из поверхности, которая добавляет текстовые области и соответствующие им кнопки отправки (шаблоны jinja 2). Сейчас я пытаюсь отправить содержимое текстовой области нажатием клавиши вместо кнопки. Проблема заключается в следующем: при отправке текстовой области (когда она заполнена пользовательским вводом) при нажатии на кнопку отправляются данные формы, а именно содержимое текстовой области и значение, которое присваивается кнопке отправки, а именно id для соответствующего текста. В представлениях Django я получаю доступ к данным через request.POST. Теперь мне удалось отправить содержимое текстовой области по нажатию кнопки, но логически id кнопки недоступен, поскольку кнопка не нажата (и ее значение не отправлено). Как мне теперь отправить id? Могу ли я изменить объект запроса с помощью javascript, добавив пару ключ-значение для id? Или я могу отправить значение скрытой кнопки submit с помощью JS при отправке текстовой области по нажатию клавиши? Что лучше по соображениям безопасности и кросс-браузерной совместимости? Вот мой (сокращенный) код:

шаблон для текстовой области

<form action="{% url 'myapp:txtarea' %}" method="post">
      <textarea name="inputtext" onkeypress="submitTextAreaOnKeyPress('{{idn}}')" class="xyz" cols="30" rows="1" id="{{idn}}">{{this_text}}</textarea>
      {% csrf_token %}
      <button id="{{idn}}-sb" name="areaID" value="{{idn}}" class="xyz" style="vertical-align:middle"><span></span></button>  
    </form>

js код в шаблоне, который внедряет многочисленные шаблоны текстовых областей

function submitTextAreaOnKeyPress(elem){

   
   
    if(event.which === 13){
    
    // modify request data??
    // request.append("id", elem)
 
    event.target.form.dispatchEvent(new Event("submit", {cancelable: true}));
    event.preventDefault(); 
      
       }
     }

** Django view function **

def submitArea(request):

if request.method == 'POST':
    this_seg = request.POST["areaID"]
    textinput = request.POST["inputtext"]
    # do something with area content and id
Вернуться на верх