JQuery один клик, два действия. Помогите! - PullRequest
0 голосов
/ 11 января 2010

Я создаю интранет-сайт для работы с функцией автозаполнения. У меня это работает там, где когда пользователь нажимает на имя в списке автозаполнения, он заполняет это значение в поле ввода текста. Что мне нужно сделать, это после того, как оно заполнит значение, а также отправить форму, как Google. Я знаю, что должен использовать document.formname.submit, но я не могу заставить его делать то и другое, все, что я могу получить - это одно или другое. Я обычно изучал бы, как это сделать, но у меня напряженный график, и я действительно нуждаюсь в вашей помощи! Вот что у меня есть для кода.

function suggest(a) {
    if (a.length == 0) {
        $("#suggestions").fadeOut()
    } else {
        $("#search").addClass("load");
        $.post("autosuggest.php", {
            queryString: "" + a + ""
        },

        function (b) {
            if (b.length > 0) {
                $("#suggestions").fadeIn();
                $("#suggestionsList").html(b);
                $("#search").removeClass("load")
            }
        })
    }
}
function fill(a) {
    $("#search").val(a);
    setTimeout("$('#suggestions').fadeOut();", 300)
};

Ответы [ 3 ]

2 голосов
/ 11 января 2010

А как же:

$("#form_name").trigger("submit"):
1 голос
/ 11 января 2010

'submit' - это метод , поэтому вам нужно будет заключить в скобки после него, чтобы что-то сделать на самом деле:

document.formname.submit()

Так как вы все равно используете jQuery, вам лучше придерживаться того, что вы получаете с этим событием, это намного мощнее, если вам нужно будет делать более сложные вещи позже.

В этом случае вам нужно будет присвоить вашей форме атрибут ID (если его еще нет) и использовать:

$('#idOfForm').trigger('submit');
0 голосов
/ 11 января 2010

Вам необходимо вызвать document.formname.submit() или $("#form-id").submit() в обработчике обратного вызова метода $ .post. Это то, что вы делаете сейчас?

...