MVC jQuery отправляют форму (без обновления страницы) от функции JavaScript

У них есть полностью различная семантика.

AddRange изменяет список путем добавления других объектов к нему.

Concat возвращает новую последовательность, содержащую список и другие объекты, не изменяя список.

Выбирают, какой бы ни у каждого есть семантика, которую Вы хотите.

33
задан Peter Mortensen 13 November 2009 в 09:20
поделиться

4 ответа

Вот как я это делаю с помощью jquery:

function DoAjaxPostAndMore(btnClicked)
{
       var $form = $(btnClicked).parents('form');

        $.ajax({
            type: "POST",
            url: $form.attr('action'),
            data: $form.serialize(),
            error: function(xhr, status, error) {
                  //do something about the error
             },
            success: function(response) {
                 //do something with response
                LoadBooks();

            }
        });

  return false;// if it's a link to prevent post

}

Я предполагал, что btnClicked находится внутри формы:

<input type="button" value="Submit" onclick="DoAjaxPostAndMore(this)"/>

если ссылка:

  <a href="/url/something" onclick="return DoAjaxPostAndMore(this)">linktext</a>

Если ссылка не внутри формы, которую вы просто нужно использовать селекторы jquery, чтобы найти его. Вы можете установить id для формы, а затем найти такую ​​форму:

var $form = $("#theformid");
62
ответ дан 27 November 2019 в 18:04
поделиться

Выполняется ли ваша функция JavaScript "onclick", и проблема в том, что полная отправка / обновление страницы также происходит ? В этом случае проблема в том, что вы не завершаете свою функцию JavaScript с помощью return false .

Или проблема в том, что ваша функция JavaScript «onclick» вообще не вызывается? Тогда сложно сказать, не глядя на код ... Если вы используете селектор JQuery - то, вероятно, ссылка не выбрана селектором

1
ответ дан 27 November 2019 в 18:04
поделиться

Вам нужно использовать Ajax.BeginForm , а не Html.BeginForm ?

3
ответ дан 27 November 2019 в 18:04
поделиться
<a href = "javascript: SaveProperties();">Save properties</a>
SaveProperties() { $('#bevpropform').submit(); }

Как я уже сказал, должно быть

SaveProperties() { $('#bevpropform').submit(); return false; }
1
ответ дан 27 November 2019 в 18:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: