【问题标题】:How can I put 1 date into 2 input fields?如何将 1 个日期放入 2 个输入字段?
【发布时间】:2019-12-05 05:47:47
【问题描述】:

如果用户在提交表单时没有选择最终日期,我想将开始日期作为最终日期列的最终日期。我的代码如下。

<div class="col-md-4">
  <div class="input-group">
    <label class="control-label">{!!Lang::get('site_lang.start_date')!!}</label>
    <input id="startDate" style="width:80%;" name="start_date" autocomplete="off"/>
  </div>
</div>
<div class="col-md-4">
  <div class="input-group">
    <label class="control-label">{!!Lang::get('site_lang.end_date')!!}</label>
    <input id="endDate" style="width:80%;"  name="end_date" autocomplete="off"/>
  </div>   
</div>

脚本

<script>
 $('#startDate').datepicker({
        uiLibrary: 'bootstrap4',
        iconsLibrary: 'fontawesome',
        format: '{{config('app.date_format_js')}}',
        maxDate: function () {
            return $('#endDate').val();
        }
    });

    $('#endDate').datepicker({
        uiLibrary: 'bootstrap4',
        iconsLibrary: 'fontawesome',
        format: '{{config('app.date_format_js')}}',
        minDate: function () {
            return $('#startDate').val();
        }
    });
</script>

【问题讨论】:

    标签: javascript jquery datepicker


    【解决方案1】:

    如何在提交表单之前调用一个函数并检查 endDate 是否为空或未定义。如果是这样,只需将 startDate 设置为 endDate 输入字段。

    function beforeSubmit()
    {
      if($('#endDate').val()==="" || $('#endDate').val() === undefined)
       {
        $('#endDate').val($('#startDate').val());
       }
    }
    
    <form onsubmit="return beforeSubmit()" > 
      <input type="submit" name="Submit" value="Submit"/>
    </form>
    

    【讨论】:

      【解决方案2】:

      如果你使用 jquery ui datepicker

      您可以通过两种方式设置结束日期

      $('#startDate').datepicker();
      $('#endDate').datepicker();
      
      // Set End date on click submit button if end date is empty set end date value as start date 
      // then submit form
      
      $("#submit").click(function(){
            if(!$("#endDate").val()){
                var startDate = $("#startDate").val()
                $("#endDate").val(startDate)
            }
            $("#form").submit()
      });
      <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
      <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
      <form id="form" action="">
              <input id="startDate"  name="start_date" autocomplete="off"/>
              <input id="endDate"  name="end_date" autocomplete="off"/>
              <button id="submit" type="submit">Send</button>
          </form>

      【讨论】:

      • 通过这种方法它可以工作,但我想在开始日期选择之后显示用户最终日期以满足他的满意度,altField 对此不起作用,所以还有其他方法吗?
      • 如果用户在开始日期选择今天日期,则在结束日期显示第二天。对吗?
      • 不不,我想说的是,如果用户从开始日期选择日期,那么它将同时显示在开始日期和结束日期的两个字段中
      • 在上面的 sn-p 中,我向您展示了如果结束日期为空,则在表单上提交,然后将结束日期设置为与开始日期相同。
      • 但是当用户选择开始日期而不是点击提交按钮后显示最后日期
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      • 2020-09-18
      • 1970-01-01
      • 2023-01-11
      • 2015-01-26
      相关资源
      最近更新 更多