jquery в режиме реального времени (щелчок) отправляет форму

#jquery #html #click #submit #live

#jquery #HTML #нажмите #Отправить #ЖИВЫЕ КОНЦЕРТЫ

Вопрос:

что я хочу сделать, так это то, что у меня есть выпадающий список, который позволяет моим пользователям-администраторам оценивать изображения с рейтингом G и X. как только они выберут эту опцию, я хотел бы, чтобы форма была отправлена.

Я думал, что это будет так же просто, как отправить идентификатор формы, но, похоже, нет.

это единственное, что пользователю нужно сделать в форме.

html-форма выглядит следующим образом

 <form id="photo1">
<input id="1" name="pictureid" hidden /> 
<select name="phototype">
 <option value="G">G Rated</option>
 <option value="X">X Rated</option>
</select>
</form>
  

Ответ №1:

Если вы хотите отправить форму при запуске события onchange, вот код:

 $('#photo1 select').change(function () {
        $("#photo1").submit();
    });
  

Комментарии:

1. 1, я бы также добавил, что форме требуется действие и метод больше, чем идентификатор.

Ответ №2:

 $('#photo1 select').change(function() {
    $('#photo1').submit();

    return true;
});
  

Ответ №3:

Этого должно быть достаточно

 $('select[name="phototype"]').change(function(){
  this.form.submit();
});
  

Он автоматически находит соответствующую форму, поэтому его можно применить и к нескольким формам.


Или, если вы хотите этого с .live() из-за динамической загрузки форм, используйте

 $('select[name="phototype"]').live('change',function(){
  this.form.submit();
});
  

Ответ №4:

Проблема с вашим кодом в настоящее время заключается в том, что ваш пользователь не может выбрать «G-rated», потому что он выбран по умолчанию. Вы должны добавить пустой параметр. Вероятно, вам также нужно значение для вашего скрытого элемента:

 <form id="photo1">
    <input id="1" name="pictureid" value="1" hidden /> 
    <select name="phototype" id="phototype">
        <option value=""></option>
        <option value="G">G Rated</option>
        <option value="X">X Rated</option>
    </select>
</form>
  

Затем вы могли бы использовать следующий jQuery:

 $('#phototype').change(function() {
    if (this.value) {
        $(this).closest('form').submit();
    }
});
  

jsFiddle

Ответ №5:

рабочая демонстрация

 $('select').change(function(){
    $(this).closest('form').submit();   
});

$('select').live('change',function(){
    $(this).closest('form').submit();   
});