IE10+ 上的 AngularJS,带有占位符的文本区域导致“无效参数”。

     2023-03-04     217

关键词:

【中文标题】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+ 中:即使这样:&lt;div ng-app&gt; &lt;input ng-model="buyer_message" type="text"/&gt; &lt;textarea id="message" placeholder="buyer_message" &gt;&lt;/textarea&gt; &lt;/div&gt; 也很奇怪。它同时更新占位符和内容: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>

一旦您的模型数据到达(可能是异步的),该指令将向&lt;textarea&gt; 添加一个传统的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}", 查看详情