.NET Core untrobustive ajax - работает на тексте, но подгружает страницу для textarea и select

В одном файле cshtml есть 3 формы рядом.

Textarea

<form data-ajax="true" data-ajax-method="post" asp-action="EditBookAnnotation"
      asp-controller="EditBook" [email protected] method="post"
      enctype="multipart/form-data">
        <div class="container d-flex justify-content-center">
            <div class="row">
                <div class="col">
                    <textarea onchange="this.form.submit()" class="form-control"
                              placeholder="Поменять аннотацию" name="annotation" required
                              rows="6">@Model.Book.Annotation</textarea>
                </div>
            </div>
        </div>
    </form>

Select + options

<form data-ajax="true" data-ajax-method="post" asp-action="EditBookStatus"
      asp-controller="EditBook" [email protected] method="post"
      enctype="multipart/form-data">
    <div class="container d-flex justify-content-center">
        <div class="row">
            <div class="col">
                <div class="goodSelect">
                    <select onchange="this.form.submit()" name="status" type="text">
                        <option selected hidden>@Model.Book.Status</option>
                        <option>Начало</option>
                        <option>В процессе</option>
                        <option>Закончена</option>
                        <option>Заброшена</option>
                    </select>
                </div>
            </div>
        </div>
    </div>
</form>

И просто Input типа text

<form data-ajax="true" data-ajax-method="post" asp-action="EditBookName"
      asp-controller="EditBook" [email protected] method="post"
      enctype="multipart/form-data">
    <div class="container d-flex justify-content-center">
        <div class="row">
            <div class="col">
                <input onblur=" if(text.count > 0) this.form.submit()" required
                       type="text" class="form-control" name="newName"
                       value="@Model.Book.BookName">
            </div>
        </div>
    </div>
</form>

Все они заточены на то, чтобы работать без кнопок, поменял значение - и оно отправляется.

Но по какой то причине как AJAX работает только простой input text, а все остальные - select и textarea при сабмите почему то загружают то что они получают от сервера.

Вопрос - почему так и как этого избежать? Мне надо чтобы при изменении значений в select оно просто отправляло значение на сервер, а не перезагружало страницу, когда получит от него ответ.


Ответы (0 шт):