Как динамически добавить параметр в форму и отправить ее в новое окно?
Имеется форма с полями. В нее добавлена кнопка и скрытый чекбокс.
Необходимо при нажатии на кнопку, добавить к форме параметр со значением и отправить форму в новое окно. Другими словами, форма работает с фильтрами и разными кнопками и чекбоксами, и нельзя на постоянной основе добавлять в нее поля, иначе она перестанет выполнять функции админки. Но необходимо отправить флаг который можно перехватить в коде и поменять логику, в моем случае сделать выгрузку данных.
Проблема: Если использовать click, то при нажатии на кнопку, форма постится и данные выгружаются. Но чекбокс остается помеченным, что ломает работу админки.
Если использовать mousedown и mouseup, то параметр чекбокса не улетает на сервер.
Что тут можно придумать?
Код кнопки и обработка:
<div class="btn-group hidden-phone">
<button id="export-btn" class="btn btn-success" type="submit" formtarget="_blank" >Экспорт</button>
<input class="element-invisible" type="checkbox" name="export" value="export-items" />
</div>
<script type="text/javascript">
!(function() {
jQuery(document).ready(function($) {
$('#export-btn').on('mousedown', function(event) {
//event.preventDefault();
var element = $(this).closest('div.btn-group').find('[type="checkbox"]');
$(element).prop('checked', true);
});
$('#export-btn').on('mouseup', function(event) {
//event.preventDefault();
var element = $(this).closest('div.btn-group').find('[type="checkbox"]');
$(element).prop('checked', false);
});
});
})();
</script>
Ответы (1 шт):
Не надо ничего помечать и отпомечать. Уберите чекбокс. Добавьте в кнопку name и value.
<button id="export-btn" name="export" value="export-items" class="btn btn-success"
type="submit" formtarget="_blank">Экспорт</button>