Принудительное POST при каждом изменении флажка / выпадающего списка - PullRequest
0 голосов
/ 06 марта 2012

Как я могу принудительно внести какие-либо изменения в флажок (внутри формы) или в раскрывающееся меню, чтобы браузер выдавал HTTP POST?

Пропускная способность не является проблемой, страницаперезагрузка не является проблемой, и я не хочу идти по полному маршруту AJAX.

Что мне действительно нужно, так это HTTP POST, который нужно сделать, когда пользователь нажимает на флажок (или выбирает что-то из выпадающего списка).вниз меню) и т. д. пользователю не нужно нажимать «Отправить» после его изменения.

Может быть, это нужно сделать с помощью некоторого JavaScript на стороне клиента?(Я ничего не смог найти в Google)

Ответы [ 4 ]

2 голосов
/ 06 марта 2012

Используйте Javascript. Добавьте onchange="document.getElementById('myFormId').submit()" к элементам или сделайте это программно. myFormId должен быть заменен HTML-идентификатором элемента form.

1 голос
/ 06 марта 2012

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

$(".classname").change(function(){
$("#formid").submit();
});

для флажка / радио

$(".classname").click(function(){
$("#formid").submit();
});
1 голос
/ 06 марта 2012

Вы можете использовать событие JavaScript onchange, чтобы затем вызвать функцию submit () в форме.

1 голос
/ 06 марта 2012

AFIK это невозможно сделать без скриптов на стороне клиента.Самый простой способ - вызвать событие submit для каждого изменения формы.С jQuery это делается с помощью следующего кода:

<script type="text/javascript">
$(function() {
    $("input[type=checkbox],input[type=radio],select").change(
      function(evt)){evt.target.form.submit();}
    );
});
</script>

Если вы не используете jQuery, вам придется написать некоторый шаблонный код обработки событий.См. это введение для получения дополнительной информации об обработке событий JavaScript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...