如何使用JavaScript动态设置`onSubmit`

时间:2013-06-15 21:23:55

标签: javascript submit form-submit onsubmit

现在我处于两难境地,因为我无法编辑表单的onSubmit,所以我必须动态设置它。我的问题是,我不知道怎么做而不覆盖onSubmit中已有的值。例如,假设我有这个代码:

<form name="bob" onSubmit="something-i-cannot-change">

</form> 

我如何设置另一个函数onSubmit以及其中已有的其他函数?我看了这个,没有运气......谢谢,我真的很感激任何帮助!!!

注意:如果这个问题是重复的,请告诉我!

3 个答案:

答案 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 };