gpt4 book ai didi

javascript - 内联 onclick 处理程序阻止捕获表单的提交

转载 作者:行者123 更新时间:2023-11-30 13:20:24 25 4
gpt4 key购买 nike

我有以下内联代码,由于是外国人插件输出的,所以我无法更改。包含触发 submit 事件的 onclick 处理程序:

<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);
}
}

最佳答案

尝试解除元素与点击事件的绑定(bind),然后指定您自己的。

$('#gform_next_button_12_188').unbind('click').removeAttr('onclick');
$('#gform_next_button_12_188').bind('click', function() {
// do magic stuff

// do the rest
jQuery("#gform_target_page_number_12").val("2");
jQuery("#gform_12").trigger("submit",[true]);
});

编辑:

添加了 removeAttr,感谢@gdoron

关于javascript - 内联 onclick 处理程序阻止捕获表单的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10391342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com