[英]Capture Submit events triggered by Javascript
我正在使用JQuery提交表單以進行excel導出。 我需要能夠捕獲該事件並進行一些處理。
我的問題: JQuery .submit()事件將捕獲輸入類型為“ submit”的按鈕,但不會捕獲javascript form.submit();。
目標:捕獲任何和所有表單提交事件,無論它們是通過“提交”按鈕還是javascript form.submit()函數提交的。
要捕獲我正在使用的提交事件:
$("#MainForm").submit(function (event) {
console.log(this);
alert("Submitted");
event.preventDefault();
});
這將觸發上述.submit()事件:
<input id="Submit1" type="submit" value="submit" />
這不會觸發上述jquery .submit()事件:
$('#XLSExportLink').click(function () {
var Form = document.getElementById('MainForm');
AppendHiddenInput(Form, 'Export', 'xlsx', 'XLSXExportInput');
Form.submit();
$('#XLSXExportInput').remove();
});
根據文檔https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/submit
從基於Gecko的應用程序中調用此方法時,將不會觸發表單的onsubmit事件處理程序(例如,onsubmit =“ return false;”)。 通常,不能保證HTML用戶代理會調用它。
所以您可以做兩件事
Form.submit();
通過$(Form).submit();
這可以讓您在將表單包裝到jQuery中之前在表單上執行操作。 Submit1
按鈕$('Submit1').click()
上觸發click事件,然后讓事件處理程序執行其操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.