IE10 +上的AngularJS,带占位符的textarea导致"参数无效".

gil*_*ran 23 javascript internet-explorer-10 angularjs

在IE10 +上使用angularJS,TextArea和占位符时,我得到" 无效参数 ".

这将仅在textarea节点关闭时</textarea>发生,并且当我现在关闭textarea时不会发生.

这将引发"无效参数"异常:

<div ng-app>
    <input ng-model="placeholderModel" type="text"/>
    <textarea id="message" placeholder="{{placeholderModel}}" ng-model="textareaModel"></textarea>
</div>
Run Code Online (Sandbox Code Playgroud)

这将没有问题:

<div ng-app>
    <input ng-model="placeholderModel" type="text"/>
    <textarea id="message" placeholder="{{placeholderModel}}" ng-model="textareaModel"/>
</div>
Run Code Online (Sandbox Code Playgroud)

在这里运行示例:http://jsfiddle.net/huecc/

Ale*_*der 22

这似乎是你绑定到元素占位符的方式的一个问题 - 奇怪,我知道.

我能够使用ng-attr-placeholder指令在IE中正常工作,而不是直接绑定到DOM中的属性.

例如,而不是:

<textarea placeholder="{{placeholderModel}}" ng-model="textareaModel"></textarea>
Run Code Online (Sandbox Code Playgroud)

试试这个:

<textarea ng-attr-placeholder="placeholderModel" ng-model="textareaModel"></textarea>
Run Code Online (Sandbox Code Playgroud)

相关: 使用IE11的带有textarea和占位符属性的AngularJS v1.2.5脚本错误


Jon*_*now 6

我今天遇到了这个错误,随机偶然发现了这个问题.这就是为我解决的问题

之前:

<textarea placeholder="{[{ 'NAME' | translate }]}" ng-model="name" name="name"></textarea>
Run Code Online (Sandbox Code Playgroud)

后:

<textarea placeholder="{[{ 'NAME' | translate }]}" ng-model="name" name="name"> </textarea>
Run Code Online (Sandbox Code Playgroud)

注意textarea里面的小空间,这实际上阻止了IE抱怨......