关键词:
【中文标题】IE10+ 上的 AngularJS,带有占位符的文本区域导致“无效参数”。【英文标题】:AngularJS on IE10+ ,textarea with placeholder cause "Invalid argument." 【发布时间】:2013-12-12 01:06:08 【问题描述】:在 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>
这将毫无问题地工作:
<div ng-app>
<input ng-model="placeholderModel" type="text"/>
<textarea id="message" placeholder="placeholderModel" ng-model="textareaModel"/>
</div>
在此处运行示例:http://jsfiddle.net/huecc/
【问题讨论】:
这刚刚解决了 IE、Angular 和 textareas 的另一个错误。谢谢! 仍然存在:github.com/angular/angular.js/issues/5025 仅供参考:我在 Android chrome 上遇到了同样的问题。 应该显示什么网页? 在 IE10+ 中:即使这样:<div ng-app> <input ng-model="buyer_message" type="text"/> <textarea id="message" placeholder="buyer_message" ></textarea> </div>
也很奇怪。它同时更新占位符和内容:P
【参考方案1】:
我今天遇到了这个错误,偶然发现了这个问题。这就是为我解决它的方法
之前:
<textarea placeholder="[ 'NAME' | translate ]" ng-model="name" name="name"></textarea>
之后:
<textarea placeholder="[ 'NAME' | translate ]" ng-model="name" name="name"> </textarea>
请注意文本区域内的小空间,这实际上阻止了 IE 抱怨...
【讨论】:
这对我不起作用,但你让我走上了正轨!我用过: translate>'TRANSLATE_ME''TRANSLATE_ME' |翻译 它不再抛出错误,但也不显示占位符文本。除非你之后删除空间 是的,他们可能在 Windows 10 中修复了它。实际上,我最终得到了一个对每个文本区域执行element.innerText = '';
的指令,因为我不想费心记住要在其中留一个空格所有文本区域。
这个工作的事实证明 IE 很烂!发送! @F.H.;确保将文本区域的关闭标记与打开标记保持在同一行(显然,仅 IE 需要)。【参考方案2】:
这似乎是您绑定到元素占位符的方式的问题 - 我知道这很奇怪。
我能够使用 ng-attr-placeholder 指令在 IE 中正常工作,而不是直接绑定到 DOM 中的属性。
例如,而不是:
<textarea placeholder="placeholderModel" ng-model="textareaModel"></textarea>
试试这个:
<textarea ng-attr-placeholder="placeholderModel" ng-model="textareaModel"></textarea>
相关: AngularJS v1.2.5 script error with textarea and placeholder attribute using IE11
【讨论】:
ngAttrPlaceholder
似乎已被弃用。如果您仍想使用此方法,您可能需要使用自定义指令,如 here 所示。或者您可以按照其他答案的建议在 之间添加一个空格。【参考方案3】:
我知道这个问题现在已经很老了,但我想我也会提出我的想法。几个月前我们遇到了这个问题,不得不提出一个修复,所以我们最终使用这个指令来解决这个问题:
mod.directive('placeHolder', [
function()
return
restrict: 'A',
link: function(scope, elem, attrs)
scope.$watch(attrs.placeHolder, function(newVal,oldVal)
elem.attr('placeholder', newVal);
);
;
]);
然后你可以在你的视图中使用它:
<textarea place-holder="placeholderModel" ng-model="textareaModel"></textarea>
一旦您的模型数据到达(可能是异步的),该指令将向<textarea>
添加一个传统的placeholder
属性,它会按您的意愿工作。
这不是最好的解决方案,但它确实有效。希望对您有所帮助。
【讨论】:
当我们可以使用ng-attr-placeholder 指令时,无需编写自定义指令。 :) 我真的不知道ng-attr-*
指令的存在。这听起来肯定会成功。带有模板占位符的 Url Helper 路由
】带有模板占位符的UrlHelper路由【英文标题】:UrlHelperroutewithtemplateplaceholderse【发布时间】:2014-10-1418:10:23【问题描述】:我想遍历表数据并在表中填充链接。表格中的每一行都有类似样式的链接,其中散布着几个不同的id。我... 查看详情
通过 IE10 中的 jQuery 在 Textarea 上的 HTML5 占位符属性
】通过IE10中的jQuery在Textarea上的HTML5占位符属性【英文标题】:HTML5PlaceholderAttributeonTextareaviajQueryinIE10【发布时间】:2012-11-2517:18:24【问题描述】:我想知道InternetExplorer10中的一些奇怪行为。在我的页面上,我添加了一个带有jquer... 查看详情
iOS 13 - 带有占位符的 UITextField 让应用程序崩溃
】iOS13-带有占位符的UITextField让应用程序崩溃【英文标题】:iOS13-UITextFieldwithPlaceholdergettingappcrash【发布时间】:2019-10-2421:18:54【问题描述】:在iOS13中,我在访问UITextField_placeholderLabel.textColor标签键时遇到了崩溃。用于应用占位... 查看详情
Laravel 数据库选择带有占位符的下拉菜单
】Laravel数据库选择带有占位符的下拉菜单【英文标题】:Laraveldatabaseselectdropdownwithplaceholder【发布时间】:2014-10-0301:55:20【问题描述】:您好,我正在使用我的数据库中存在的客户端填充选择下拉列表,但是我首先需要一个占位... 查看详情
带有占位符的 FormatMessage
】带有占位符的FormatMessage【英文标题】:FormatMessagewithplaceholders【发布时间】:2011-05-3115:43:52【问题描述】:CStringErrorMessageFromErrorCode(DWORDerrorCode)无效*pMsgBuf=NULL;::格式信息(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM,空值, 查看详情
Python sqlite3 构建带有动态占位符的部分
】Pythonsqlite3构建带有动态占位符的部分【英文标题】:Pythonsqlite3buildwherepartwithdynamicplaceholders【发布时间】:2014-10-1715:55:11【问题描述】:我有一个包含4个输入字段的表单,当单击提交按钮时,我会根据这4个输入从数据库中获... 查看详情
具有许多占位符的 ItemStack
...述】:我目前正在开发一个我的世界插件,其中包含许多带有许多占位符的项目。我有一个有两个参数的方法:一个ItemStack和一个字符串数组。在数组中,奇数位置是变量,偶数位置是它们必须替换的值。我想知道替换这些变量... 查看详情
选择语句作为带有占位符的列值
】选择语句作为带有占位符的列值【英文标题】:Selectstatementascolumnvaluewithplaceholders【发布时间】:2013-11-1112:51:52【问题描述】:我有一个场景,其中我的选择语句存储为表中具有以下结构的列值。IdQuery---------1SELECT*FROMEMPWHEREEMP_... 查看详情
带有可选占位符的 string.format()
】带有可选占位符的string.format()【英文标题】:string.format()withoptionalplaceholders【发布时间】:2012-06-1620:52:28【问题描述】:我有以下Python代码(我使用的是Python2.7.X):my_csv=\'first,middle,last\'print(my_csv.format(first=\'John\',last=\'Doe\'))... 查看详情
带有位置占位符的 ON DUPLICATE KEY UPDATE 的语法
】带有位置占位符的ONDUPLICATEKEYUPDATE的语法【英文标题】:SyntaxforONDUPLICATEKEYUPDATEwithpositionalplaceholders【发布时间】:2013-05-1405:24:48【问题描述】:这是REPLACE语法$sql="REPLACEINTO2_1_journal(Number,RecordDay,RecordMonth)VALUES";$insertQuery=arra 查看详情
jquery选择多个选项显示和隐藏带有占位符的输入类型号
】jquery选择多个选项显示和隐藏带有占位符的输入类型号【英文标题】:jqueryselectmultipleoptionsshowandhideinputtypenumberwithplaceholder【发布时间】:2022-01-0617:15:38【问题描述】:<divclass="form-group"><labelfor="unit_of">UnitofMeasure</lab... 查看详情
带有弹簧属性占位符的 Spring Boot 和 Logback logging.config 文件
】带有弹簧属性占位符的SpringBoot和Logbacklogging.config文件【英文标题】:SpringBootandLogbacklogging.configfilewithspringpropertiesplaceholders【发布时间】:2017-08-2315:02:20【问题描述】:我在服务器上安装了一组应用程序,我想开始通过syslog将... 查看详情
Firefox 23.0.1 Chrome 23.0.1271.64 和 IE 8 之间占位符的字体颜色差异
】Firefox23.0.1Chrome23.0.1271.64和IE8之间占位符的字体颜色差异【英文标题】:FontcolorofplaceholderdifferencebetweenFirefox23.0.1Chrome23.0.1271.64andIE8【发布时间】:2013-08-2706:26:49【问题描述】:我将输入字段的占位符字体颜色更改为蓝色,我在C... 查看详情
如何在Vue的v-for中显示带有占位符的下拉菜单?
】如何在Vue的v-for中显示带有占位符的下拉菜单?【英文标题】:Howtoshowdropdownwithplaceholderinv-forinVue?【发布时间】:2021-08-1813:40:04【问题描述】:我想在Vue中显示一个下拉菜单的占位符。我使用v-for循环来浏览不同的下拉选项。... 查看详情
带有命名占位符的 PDO 准备好的语句 IN 子句无法按预期工作 [重复]
】带有命名占位符的PDO准备好的语句IN子句无法按预期工作[重复]【英文标题】:PDOpreparedstatementsINclausewithnamedplaceholdersdoesn\'tworkasexpected[duplicate]【发布时间】:2015-07-1017:47:13【问题描述】:假设在一个场景中:$ids=2,3。但由于某... 查看详情
占位符在 IE 中无法正常工作,但适用于 Chrome
...ome【发布时间】:2019-12-1322:38:39【问题描述】:我有一个带有占位符的文本区域。加载时textarea已经有值,但如果我点击它,该值将被清除并显示占位符值。在Chrome上一切正常,IE上存在问题。预期结果:保留页面加载时的值(... 查看详情
在 IE 中更改占位符文本的字体大小和边距
...nIE【发布时间】:2014-09-0605:31:54【问题描述】:我有一个带有占位符的文本输入:<inputtype="text"placeholder="placeholder"/>我想让占位符文本小于输入文本:inputfont-size:20px;input:-ms-input 查看详情
占位符的使用
1.占位符{}staticvoidMain(){doublet=10.12;Console.WriteLine("这是double数据类型{0}",t);Console.ReadKey();}ViewCode 2.控制输出小数点两位staticvoidMain(){doublet=10*1.0/3;//自动类型转换Console.WriteLine("控制输出两位小数{0:0.00}", 查看详情