提交表格后如何保留所选日期?

时间:2019-02-05 05:26:54

标签: javascript angular ng-bootstrap

我在表单中使用ng-bootstrap日期选择器。提交表单后,我需要保留选定的日期选择器值。提交表单后,当前日期选择器的值为空(重置)。如何保留选定的日期选择器值?

<form class="form-inline" name="form" #invoiceheaderform="ngForm" novalidate (ngSubmit)="invoiceheaderform.form.valid && save();">

自日期*

    <div class="input-group">
    <input class="form-control ngbfield" 
           name="invfromdate"  [readonly]="true" #vl="ngModel" [(ngModel)]="model.fromDate" ngbDatepicker #d1="ngbDatepicker">
    <div class="input-group-append">
      <button class="btn btn-outline-secondary fa fa-calendar" (click)="d1.toggle()" type="button"></button>
    </div>
    <!-- <div *ngIf="invoiceheaderform.submitted && vl.invalid" class="invalid-feedback">From Date is required</div> -->
  </div>

  <button type="submit" [disabled]="disableRunButton" class="btn btn-primary mb-2 expad">Save</button>

</form>

3 个答案:

答案 0 :(得分:1)

检查是否正在model.fromDate函数中修改模型值(save())。由于它是一个日期,因此有可能在save()函数中更改日期格式,并分配回同一变量。在这种情况下,请使用另一个变量来存储修改后的值。

答案 1 :(得分:0)

<div class="input-group">
  <input class="form-control ngbfield" name="fromDate"  [readonly]="true" #vl="ngModel" [(ngModel)]="model.fromDate" ngbDatepicker #d1="ngbDatepicker">
<div class="input-group-append">
  <button class="btn btn-outline-secondary fa fa-calendar" (click)="d1.toggle()" type="button"></button>
</div>

答案 2 :(得分:0)

问题可能是提交时重置了模型值,并且由于这些值受ngModel绑定,因此日期值也被重置了

对于提交,而不是像上面那样直接调用save,请考虑将事件作为save($ event)传递并从save函数内部调用event.preventDefault()