现在我处于两难境地,因为我无法编辑表单的onSubmit
,所以我必须动态设置它。我的问题是,我不知道怎么做而不覆盖onSubmit
中已有的值。例如,假设我有这个代码:
<form name="bob" onSubmit="something-i-cannot-change">
</form>
我如何设置另一个函数onSubmit
以及其中已有的其他函数?我看了这个,没有运气......谢谢,我真的很感激任何帮助!!!
注意:如果这个问题是重复的,请告诉我!
答案 0 :(得分:4)
document.querySelector('[name="bob"]')
.addEventListener('submit',
functionThatDoesSomethingAfter);
请注意,表单必须已经在DOM中,因此将代码放在body标记的末尾。
https://developer.mozilla.org/en-US/docs/Web/API/document.querySelector
https://developer.mozilla.org/en-US/docs/Web/API/EventTarget.addEventListener
答案 1 :(得分:3)
document.getElementById("<element-id>").setAttribute("onSubmit", "<action>");
答案 2 :(得分:1)
保存对现有onSubmit函数的引用,然后创建一个新的onSubmit函数,它可以执行您想要的操作,然后调用原始函数。
// jQuery syntax for DOM work
var originalSubmit = $('#bob').onSubmit
$('#bob').onSubmit = function() { do stuff here then call original };