在javascript confirm()取消后,在表单提交按钮上运行AJAX函数
Run AJAX function on form submit button after javascript confirm() cancel
我有一个表单,其中AJAX函数在表单提交时运行,以确保表单中的数据不会与数据库中的数据冲突。如果发现冲突,AJAX函数会弹出confirm()框。如果用户单击"确定",则提交表单。如果他们单击"取消",则不会提交表单。
这就是问题所在。如果他们点击取消,然后调整表单中的值并再次提交,那么AJAX函数在下次点击表单提交按钮时不会运行。有没有一种方法可以让AJAX函数在每次点击提交时运行,即使他们之前已经取消了表单提交?
以下是AJAX函数的截断版本:
$('#publish').one('click', function (e) {
e.preventDefault();
var url = shiftajax.ajaxurl;
var shift = $('#post_ID').val();
var data = {
'action': 'wpaesm_check_for_schedule_conflicts_before_publish',
'shift': shift,
};
$.post(url, data, function (response) {
if( response.action == 'go' ) {
// submit the form
$('#post').submit();
} else {
// ask user for confirmation
if (confirm(response.message)) {
// user clicked OK - submit the form
$('#post').submit();
} else {
// user clicked cancel - do nothing
}
}
});
});
就像我说的,这很好用,但如果你在点击"取消"按钮后点击提交按钮,AJAX就不会启动。
值得一提的是,当你点击WordPress自定义帖子类型上的"发布"按钮时,这个AJAX函数就会运行。
不要使用one
(它只会触发ajax提交或按钮单击一次),在这里使用var IsBusy
来检查用户没有重复按下表单提交,
尝试以下代码,
var isBusy = false; //first time, busy state is false
$('#publish').on('click', function (e) {
if(isBusy == true)
return ; //if Busy just return dont submit
else
isBusy= true; //true , tell that ajax is now busy processing a request
e.preventDefault();
var url = shiftajax.ajaxurl;
var shift = $('#post_ID').val();
var data = {
'action': 'wpaesm_check_for_schedule_conflicts_before_publish',
'shift': shift,
};
$.post(url, data, function (response) {
if( response.action == 'go' ) {
// submit the form
$('#post').submit();
} else {
// ask user for confirmation
if (confirm(response.message)) {
// user clicked OK - submit the form
$('#post').submit();
} else {
// user clicked cancel - do nothing
}
}
isBusy = false;
});
});
相关文章:
- 将文本框链接到由按钮运行的javascript公式
- 从页面javascript按钮运行Node.JS
- 在同一页面上单击按钮运行不同的代码
- 如何阻止一个Submit按钮运行Submit Click功能
- 根据选中的按钮运行不同的计算时,设置单选按钮
- 单击javascript中的按钮运行python脚本
- 链接按钮运行的代码无效
- 从按钮运行函数
- 为什么获胜't我的HTML按钮运行我的JavaScript函数
- 使用html按钮运行python脚本
- 点击一个按钮运行一个功能-不工作
- 点击按钮运行Javascript
- Chrome扩展赢得't点击按钮运行功能
- 如何使图像按钮运行PHP脚本
- 单击按钮运行函数并添加Class
- 点击浏览器返回按钮运行动画
- 如何从HTML中的一个按钮运行整个Javascript页面?
- 选择按钮运行功能
- 点击html按钮运行PHP函数
- 如何使一个按钮运行php代码与ajax,无需刷新页面购物车