Javascript выберите onchange = 'this.form.submit ()'



Answers

Мои психические навыки отладки говорят мне, что ваша кнопка submit называется submit .
Поэтому form.submit относится к кнопке, а не к методу.

Переименуйте кнопку в другое, чтобы form.submit снова form.submit на метод.

Question

У меня есть форма с выделенным и несколькими текстовыми вводами. Я хочу, чтобы форма была отправлена ​​при изменении выбора. Это работает отлично, используя следующее:

onchange="this.form.submit()"

Однако, если форма также содержит кнопку отправки, форма не будет отправляться при изменении выбора. Я догадываюсь о каком-то конфликте.

Какие у меня варианты?

Должен ли я использовать что-то вроде $(this.form).trigger("submit") ?




Использование:

<select onchange="myFunction()">

    function myFunction() {
        document.querySelectorAll("input[type=submit]")[0].click();
    }



Это можно сделать несколькими способами.

Элементы знают, к какой форме они принадлежат, поэтому вам не нужно обертывать this в jquery, вы можете просто вызвать this.form который возвращает элемент формы. Затем вы можете вызвать submit() на элементе формы, чтобы отправить его.

  $('select').on('change', function(e){
    this.form.submit()
  });

документация: https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement




Related