0

我不确定我在这里做错了什么,我正在尝试将 angular-xeditable datepicker 添加到可编辑表单中,但是在显示表单时出现以下错误

Error: [$parse:syntax] http://errors.angularjs.org/1.3.15/$parse/syntax?p0=Jun&p1=is%20an%20unexpected%20token&p2=5&p3=Mon%20Jun%2008%202015%2013%3A37%3A02%20GMT-0400%20(EDT)&p4=Jun%2008%202015%2013%3A37%3A02%20GMT-0400%20(EDT)
    at Error (native)
    at https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js?ver=1.3.15:6:417
    at ib.throwError (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js?ver=1.3.15:191:165)
    at ib.parse (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js?ver=1.3.15:189:457)
    at $get (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js?ver=1.3.15:110:285)
    at https://workland.ca/wp-content/themes/upc/bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js?ver=1.0:8:23047
    at Object.r [as forEach] (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js?ver=1.3.15:7:302)
    at link (https://workland.ca/wp-content/themes/upc/bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js?ver=1.0:8:22940)
    at https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js?ver=1.3.15:70:141
    at $ (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js?ver=1.3.15:70:197) <input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-isolate-scope" ng-model="$data" datepicker-popup="dd-MMMM-yyyy" datepicker-mode="day" show-weeks="true" starting-day="0" init-date="Mon Jun 08 2015 13:37:02 GMT-0400 (EDT)" min-mode="day" max-mode="year" format-day="dd" format-month="MMMM" format-year="yyyy" format-day-header="EEE" format-day-title="MMMM yyyy" format-month-title="yyyy" year-range="20" show-button-bar="true" current-text="Today" clear-text="Clear" close-text="Done" close-on-date-selection="true" date-picker-append-to-body="false">

表格.html。

<form                                   
   onbeforesave="onsave({$data:$data})"
   editable-form 
   name="forms.{{formName}}"
   >
   <!-- more form controles... -->
   <div 
      editable-bsdate="item.dateobtained" 
      e-datepicker-popup='yyyy-MM-dd'
      e-name="dateobtained"
      onbeforesave="" 
      e-required>
   </div>
</form>
4

1 回答 1

0

我刚刚提出这个问题,并认为我会通过我遇到的地方。我正在使用 xeditable 0.1.9 和 ui-bootstrap 0.14.3。错误来自日期对象,我将其追踪到日期选择器的 init-date 属性。如果您不指定初始化日期,则 xeditable 会放入“new Date()”,这就是导致错误的日期对象的来源。我尝试使用 e-init-date 将属性设置为其他值,但我找不到任何有效的方法。我最终进入代码并注释掉第 113 行,因此 xeditable 对 init-date 没有任何作用,它只是让 ui-bootstrap 通过其默认值处理它。看起来日期选择器也设置为“new Date()”的默认值,所以我不知道为什么它们不一样。但如果我注释掉那一行,

我还发现了其他一些奇怪的东西。日期选择器几乎忽略了使用 e-datepicker-popup 设置的格式。我所做的是像往常一样使用 e-datepicker-popup,然后将格式重复为 e-datepicker-popup-x-editable。像这样的东西:

e-datepicker-popup='yyyy-MM-dd' e-datepicker-popup-x-editable='yyyy-MM-dd'

这使得日期总是以我想要的方式显示,无论它是否处于编辑模式以及弹出日历是否可见。否则格式会根据控件的状态而改变。

于 2015-11-04T23:09:59.933 回答