Javascript 回调触发手动表单提交时未调用jQuery表单提交处理程序
我有一个问题,当我使用普通JavaScript手动触发类为“reCaptchaForm”的表单提交时,表单的提交处理程序没有被调用,如下面的代码片段所示 我有Javascript 回调触发手动表单提交时未调用jQuery表单提交处理程序,javascript,jquery,forms,requirejs,form-submit,Javascript,Jquery,Forms,Requirejs,Form Submit,我有一个问题,当我使用普通JavaScript手动触发类为“reCaptchaForm”的表单提交时,表单的提交处理程序没有被调用,如下面的代码片段所示 我有onReCaptchaSuccess回调,该回调将手动提交表单,但当我这样做时,提交处理程序不会被调用-当我在浏览器中使用类型为“提交”的以本机方式提交表单时,该回调会起作用 在窗体所在的我的模板中: <script type="text/javascript"> require(['crmpicco/coursedet
onReCaptchaSuccess
回调,该回调将手动提交表单,但当我这样做时,提交处理程序不会被调用-当我在浏览器中使用类型为“提交”的
以本机方式提交表单时,该回调会起作用
在窗体所在的我的模板中:
<script type="text/javascript">
require(['crmpicco/coursedetails'], function(details) {
details.init();
});
function onReCaptchaSuccess(token) {
document.getElementsByClassName("reCaptchaForm")[0].submit();
}
</script>
我猜我在这里遗漏了一些明显的东西,但我不明白为什么这里没有调用提交处理程序,因为我的理解是这应该会冒泡
编辑:好的,我现在读到了这篇文章,它敲响了警钟但是,它并不能解决我如何捕获程序提交的问题。我想我在上面回答了我自己的问题 本质上-事件仅在用户激活时触发-,而在代码激活时不触发
define('crmpicco/coursedetails', [
'jquery',
'intl-tel-input',
'jstz'
], function($) {
var CourseDetails = {
init: function() {
this.initPhoneNumber();
},
initPhoneNumber: function() {
// ...some field cloning in here...
originField.closest('form').submit(function() {
// this form submit handler is never envoked!
});
},
};
return CourseDetails;
});