有一个带有字段的表单。添加了一个按钮和一个隐藏的复选框。
单击按钮时,您需要向表单添加一个带值的参数并将表单发送到新窗口。换句话说,表单与过滤器以及各种按钮和复选框一起使用,您不能持续向其添加字段,否则它将不再作为管理面板运行。但是有必要发送一个可以在代码中拦截的标志并更改逻辑,在我的情况下,上传数据。
问题:如果你使用click,那么当你点击按钮时,表单正在禁食并上传数据。但是该复选框仍处于选中状态,这会破坏管理面板的工作。
如果使用 mousedown 和 mouseup,则 checkbox 参数不会飞到服务器。
你能想到什么?
按键代码及处理:
<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>
您不必标记或标记任何内容。删除复选框。
name将and添加到按钮value。