バニラJavaScriptを使用して、フォーム 'reCaptchaForm'を使用してフォームの送信を手動でトリガすると、フォームの送信ハンドラが呼び出されないという問題があります。以下のコードスニペットをご覧ください。jQueryフォーム送信ハンドラが呼び出されないときにコールバックが手動フォーム送信をトリガーする
私はコールバックを手動で送信しますが、これを実行するとサブミットハンドラは呼び出されません - フォームに 'submit'というタイプの<button>
をブラウザにネイティブで送信すると動作します。 。
:
<script type="text/javascript">
require(['crmpicco/coursedetails'], function(details) {
details.init();
});
function onReCaptchaSuccess(token) {
document.getElementsByClassName("reCaptchaForm")[0].submit();
}
</script>
マイRequireJSモジュールcoursedetails.js
:
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;
});
私はここに何かを明らかに欠けている推測しているが、私は理由を見ることができません私が理解しているように、提出ハンドラはここで呼び出されていません。
EDIT:これで、鐘が鳴りました。 https://stackoverflow.com/a/645556/691505 - しかし、私はプログラム的な提出をキャプチャする方法の私の問題を解決しません。