Как выбрать радио, а затем отправить форму с помощью jQuery в vBulletin? - PullRequest
0 голосов
/ 16 ноября 2011

Я работаю над сценарием пользователя, который внедряет мой JS в голову (эта часть работает).Я использую уже установленный на сайте jQuery.

Я модератор форума vBulletin.Я двигаюсь и закрываю много потоков.Я полагал, что это сэкономит мне непреодолимое количество времени, если я уменьшу общее количество кликов, которые я делаю, на 2 клика за поток.

Использование .append() Я добавил свой <td> с тегом * быстрого доступа <a>.
Я бы хотел, чтобы я щелкнул тег <a> (Закрыть или переместить) он выбирает соответствующую опцию в форме инструментов потока (насколько я могу судить, работает так, как я ее кодировал), а затем отправляет форму, как если бы я нажал кнопку «Выполнить действия».

Мой текущий код:

$(document).ready( function() {

    var topbar = $('#threadtools').closest('tr');
    var newTool = '<td><a href="#" id="newClose" style="padding-left: 10px; padding-right: 10px;"><b>Close</b></a></td>' +
                    '<td><a href="http://google.com" id="newMove"><b>Move</b></a></td>'; // Google for testing purposes I wanted to make sure preventDefault was working
    topbar.append(newTool);

    $('#newClose').click(function() { 
        alert();
    });
    $('#newMove').click(function(event) { 
        event.preventDefault();
        //var form = $('input[name$="threadadminform"]');  // select form by name
        var button = $('input[value="Perform Action"]');   // select button by name


        var closeradio = $('#ao_oct');
        var moveradio = $('#ao_mvt');
        var copyradio = $('#ao_cpt');
        var editradio = $('#ao_edt');
        var deleteradio = $('#ao_dlt');
        var stickradio = $('#ao_sut');
        var mergeradio = $('#ao_mgt');
        var redirectradio = $('#ao_rrd');

        closeradio.removeAttr('checked');
        copyradio.removeAttr('checked');
        editradio.removeAttr('checked');
        deleteradio.removeAttr('checked');
        stickradio.removeAttr('checked');
        mergeradio.removeAttr('checked');
        redirectradio.removeAttr('checked');

        moveradio.attr('checked', 'checked');
        button.trigger();
    });
});

Как вы видите, я сейчас пытаюсь .trigger() кнопку отправки, это не работает.
Я также пытался .submit() в формеvar, который я объявил сверху, это также не работает.

Как я могу получить это для отправки, как если бы я нажал кнопку и перешел на следующую соответствующую страницу?

1 Ответ

2 голосов
/ 16 ноября 2011
Для триггера

требуется минимум события, поэтому вам нужно передать button.trigger ('click'), чтобы он смог выполнить событие click.

Пример демонстрации того, чего вы пытаетесь достичь в , посмотрите на пример с двумя кнопками в вышеуказанном месте.

надеюсь, это поможет.

...