次のインライン コードは、外国のプラグインによって出力されるため、変更できません。イベントをトリガーするonclick
ハンドラーが含まれています。submit
<input type='button' id='gform_next_button_12_188'
class='button gform_next_button' value='Next' tabindex='3'
onclick='jQuery("#gform_target_page_number_12").val("2"); jQuery("#gform_12").trigger("submit",[true]); '/>
フォームを送信する前にいくつかのルーチンを実行したいので、これを試しました:
$("#gform_12").submit(function(e){
// this code is not running ...
});
失敗していること、つまり、フォームが送信されたときにコードが実行されていないこと。何か提案はありますか?
与えられた答えに基づく最終的な解決策
var inline_onclick_code_on_next = $(".gform_next_button").first().attr("onclick");
$(".gform_next_button").removeAttr("onclick");
$(".gform_next_button").bind("click", function() {
myClass.autosave_on_click(inline_onclick_code_on_next);
});
myClass = {
errorMessage : "",
autosave_on_click: function (inline_onclick_code){
my_gravity_form_saving_running = 1;
myClass.saveData(); // this code must put my_gravity_form_saving_running = 0 when all data be saved
countdown_max_loop = 10; // seconds
var countdown = window.setInterval(function(){
if (countdown_max_loop-- == 0 || my_gravity_form_saving_running == 0){
clearInterval(countdown);
eval (inline_onclick_code);
}
}, 1000);
}
}