Wordpress: зацепите кнопку обновления поста или форму для проверки - PullRequest
1 голос
/ 30 августа 2011

Я хочу отменить обновление поста в некоторых случаях без необходимости перезагрузки всей страницы.

Я пробовал:

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

В обоихкодирует форму, которая не была отправлена, но кнопка «Обновить» остается отключенной, и отображается gif-файл загрузчика ajax.

Как я могу это сделать?Заранее спасибо.

Ответы [ 4 ]

1 голос
/ 05 сентября 2011

Наконец, с помощью тех, кто ответил на мой вопрос (особенно на stealthyninja ), мне удалось заставить работать то, что я спросил.

@ karevn :Это решение не нарушает автосохранение в текущей версии WordPress (протестировано до 3.2.1).

$('#publish').click(function(e) {
    if (!condition) {

        // Fix WordPress display to user.
        $('#ajax-loading').hide();
        $('#publish').removeClass('button-primary-disabled');               

        return false;
    }     
});
1 голос
/ 30 августа 2011

Вы тоже пробовали:

jQuery(document).ready(function($) {
    $('#post').submit(function(e) {
        e.preventDefault();

        $('.ajax-loading').hide();
        $('#publish').removeAttr("disabled"); 
    });
});
1 голос
/ 30 августа 2011

Я думаю, потому что WordPress уже имеет обработчик событий для этого элемента, не имеет значения, что он возвращает, он просто запускает оба даже обработчика. Попробуйте это:

$('#publish').click(function (event) {
    event.stopPropagation();
});
0 голосов
/ 31 августа 2011

Извините, это невозможно - это нарушает автосохранение в текущей версии WordPress. Вы можете отправить патч в WP или придерживаться другого решения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...