Есть ли событие перед submit'ом формы html?
У меня есть табличка, которую я генерирую с помощью DataTable, в ней которые поля - редактируются пользователем. Все это дело находится в теге <form asp-page="MyPage"> вместе с кнопкной <button type="submit"> которая генерируется автоматически фреймворком который я использую, поэтому повесить id и on click не получится.
Помимо этого, есть <input asp-for="EditShopItemVM.JsonKeyValue">, оно помечено как [HiddenInput].
В js коде я подписался на событие submit формы:
$("#editModalForm").submit(() =>
{
let list = $('#editPropertiesTable > tbody').prop("childNodes");
let keyValuePair = [];
for (let i = 0; i < list.length; i++)
{
let firstCell = list[i].cells[0];
let secondCell = list[i].cells[1];
let key = $(firstCell).prop('innerText');
let value = $(secondCell).children("input").val();
keyValuePair.push({ key, value });
console.log(key, value);
}
//Пытаюсь задать input
$("#JsonKeyValue").val(JSON.stringify(keyValuePair));
});
И в моем OnPostAsync:
public async Task<IActionResult> OnPostAsync()
{
ValidateModel();
var createUpdate = ObjectMapper.Map<EditShopItemViewModel, CreateUpdateShopItemDto>(EditShopItemVM);
await _service.UpdateAsync(Id, createUpdate);
return NoContent();
}
Проблема заключается в том, что сначала вызывается OnPostAsync, а только потом событие submit и соответственно одно свойство в забинженной модели - null (т.к задаю в последней строчке js кода). Есть ли возможность сначала выполнить submit событие, а только потом уже вызов OnPostAsync? Может быть есть какое-нибудь событие before submit или что-то в этом роде?