我正在尝试在提交按钮上使用 javascript。点击提交按钮后,我运行一个例程,该例程使用回调处理程序 h 执行远程回调。根据 h 的结果,我将决定是继续提交还是阻止默认并留在页面上。
我尝试了几种方法。第一个是在回调之后使用 jquery 运行提交:
$('#submit').on('click', function(e) {
e.preventDefault();
run_func_with_callback(h);
}
h() {
if (success) {
$('#submit').submit();
}
}
另一个正在尝试无限循环,直到回调更改标志:
callback_flag = 0;
$('#submit').on('click', function(e) {
run_func_with_callback(h);
while(callback_flag == 0) {
setTimeout(function() {}, 1000); // I want some form of sleep function here
}
if (callback_flag == -1) {
e.preventDefault();
}
}
h() {
if (success) {
callback_flag = 1;
} else {
callback_flag = -1;
}
}
但是,这些解决方案都不起作用。第一个我猜 jQuery 并没有真正那样工作。第二个我做的方法不是睡眠功能,也不是我需要的方式。
欢迎任何见解。谢谢!