【问题标题】:Modal form clearing when a field is selected选择字段时清除模态表单
【发布时间】:2015-12-15 02:37:57
【问题描述】:

我正在开发一个库存管理系统,我有一张表格显示购买和使用的库存。我已经包含了编辑按钮来使用模式编辑一行信息。

当模式打开时,它会显示一个包含表格信息的表单。我遇到的问题是,当单击日期字段时,它会清除表单中所有其他字段的信息。选择产品或交易类型字段时不会发生这种情况。

<div class="modal fade" id="editinvModal" role="dialog">
<div class="modal-dialog">

    <div class="modal-content">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal">
                <span class="glyphicon glyphicon-remove" aria-hidden="true"></span></button>
            <h4 class="modal-title custom_align" id="Heading">Edit The Transaction</h4>
        </div>
        <div class="modal-body">
            <form method="post" action="inventory_update.php">
                <!-- Product -->
                <div class="form-group">
                    <select class="form-control" title="Select Product" id="prod1" name="productName">
                        <optgroup>
                            <option value="" disabled>Select Product</option>
                            <option>Product 1</option>
                            <option>Product 2</option>
                        </optgroup>
                    </select>
                </div>

                <!-- Transaction type -->
                <div class="form-group">
                    <select class="form-control" title="Transaction Type" id="type1" name="transactionType">
                        <optgroup>
                            <option value="" disabled>Select Transaction Type</option>
                            <option>Inventory Used</option>
                            <option>Inventory Received</option>
                            <option>Inventory Reconciled</option>
                        </optgroup>
                    </select>
                </div>

                <!-- Date -->
                <div class="form-group input-group">
                    <span class="input-group-addon"><i class="fa fa-calendar fa-fw"></i></span>
                    <input readonly class="form-control form_datetime" name="date" id="date123" type="text">
                </div>

                <button type="submit" name="submit" class="btn btn-info btn-lg">
                    <span class="glyphicon glyphicon-ok-sign"></span> Update</button>
            </form>
        </div>

        <div class="modal-footer ">
            <div class="row-fluid">
                <button name="cancel" data-dismiss="modal" class="btn btn-warning btn-lg">
                    <span class="glyphicon glyphicon-ok-sign"></span> Cancel
                </button>
            </div>
        </div>

    </div>
</div>

这是日期选择器的代码并将数据放入模式中。

$('#editinvModal').on('show.bs.modal', function (event) {
    var button = $(event.relatedTarget); //button that triggered the modal

    var productName = button.data('product');
    var transactionType = button.data('type');
    var date = button.data('date');

    var modal = $(this);

    modal.find('.modal-body #prod1').val(productName);
    modal.find('.modal-body #type1').val(transactionType);
    modal.find('.modal-body #date1').val(date);
});


$(".form_datetime").datetimepicker({
    format: 'dd-mm-yyyy',
    minView: 2,
    pickTime: false,
    autoclose: true,
    todayBtn: true});

如果有人能看出我做错了什么,或者对可能导致这种情况的原因有任何想法,将不胜感激

【问题讨论】:

  • 当您的日期字段被点击时,该脚本是否正在运行
  • 当点击表格上的编辑按钮时,会运行将信息拉到模态框的脚本。选择日期字段时正在运行日期脚本,它向我显示日历。我尝试了 2 个不同的日期选择组件,都清除了所有字段。
  • 不,我的意思是,在您的第一个脚本中添加一个console.log('xx');,并检查控制台何时运行(它是否在您的date field is clicked 时运行?)
  • 是的,每次点击日期字段时控制台都会显示“xx”
  • 这是清除值的原因。你想用$('#editinvModal').on('show.bs.modal'... 做什么?您要处理哪些实际按钮?如果它是“编辑”按钮,那么你应该处理它(但你没有显示你的编辑按钮,所以它不清楚)

标签: javascript jquery twitter-bootstrap bootstrap-modal


【解决方案1】:

只需将模式事件从 show 更改为 shown 即可解决问题

问题转载Here

$('#editinvModal').on('shown.bs.modal', function (event) {
     //Rest of the code
});

Problem Solved

【讨论】:

  • 是的,已经解决了这个问题。非常感谢!
猜你喜欢
  • 1970-01-01
  • 2021-09-04
  • 2011-02-03
  • 1970-01-01
  • 1970-01-01
  • 2016-10-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多