Jquery Wordpress:钩住更新后按钮或表单进行验证
我想取消某些情况下的后期更新而无需重新加载整个页面 我试过:Jquery Wordpress:钩住更新后按钮或表单进行验证,jquery,wordpress,button,Jquery,Wordpress,Button,我想取消某些情况下的后期更新而无需重新加载整个页面 我试过: // publish is the id of the Update button. $('#publish').click(function(){ return false; }); // post is the id of the corresponding form. $('#post').submit(function(){ return false; }); 在这两种代码中,表单未提交,但更新按钮仍处于
// publish is the id of the Update button.
$('#publish').click(function(){
return false;
});
// post is the id of the corresponding form.
$('#post').submit(function(){
return false;
});
在这两种代码中,表单未提交,但更新按钮仍处于禁用状态,并显示ajax加载程序gif
我怎么能做到?提前感谢。我认为,因为WordPress在该元素上已经有了一个事件处理程序,所以它返回什么并不重要,它只是同时启动两个偶数处理程序。试试这个:
$('#publish').click(function (event) {
event.stopPropagation();
});
您是否也尝试过:
jQuery(document).ready(function($) {
$('#post').submit(function(e) {
e.preventDefault();
$('.ajax-loading').hide();
$('#publish').removeAttr("disabled");
});
});
抱歉,这是不可能的-它在当前WordPress版本中中断了自动保存。您可以向WP提交补丁或坚持使用其他解决方案。最后,在回答我问题的人的帮助下(特别是对Stealthynija),我设法实现了我的要求 @karevn:此解决方案不会破坏当前WordPress版本(测试版本为3.2.1)中的自动保存功能
@生锈的牛仔裤:谢谢你的回答,但这对我不起作用。我也尝试过在点击处理程序主体中使用return false,但没有任何结果。@karevn:你确定吗?jQuery中没有任何黑客可以做到这一点?使用
e.preventDefault()代码>停止提交,但它一直显示ajax加载程序,更新按钮也保持禁用状态。@diosney:请参阅更新--它应该隐藏ajax加载程序并为您重新启用更新按钮。@stealthyninja:这不起作用,但为我提供了更多的测试示例,帮助我找到实现所需的方法。感谢您的帮助+1;)是的,没有。但是,如果我按Enter键或使用其他方式提交表单,验证将不会运行。所以你需要处理“提交”。我试图在那里添加我的处理程序,结果在我的案例中破坏了autosave。
$('#publish').click(function(e) {
if (!condition) {
// Fix WordPress display to user.
$('#ajax-loading').hide();
$('#publish').removeClass('button-primary-disabled');
return false;
}
});