我有一个用Cold Fusion写的表单。当我在IE8或Firefox中测试表单时,没有任何问题。当我在IE10中测试表单时,它给出了以下错误:
网页错误详情
User Agent: Mozilla/4.0 (compatible;MSIE 7.0;Windows NT 6.1;WOW64;三叉戟/6.0;SLCC2;.net CLR 2.0.50727;.net CLR 3.5.30729;.net CLR 3.0.30729;Media Center PC 6.0;.NET4.0C;InfoPath.2;.NET4.0E)时间戳:Wed, 8 May 2013 18:15:47 UTC
消息:对象不支持"replace"属性或方法
线:7
字符:10560
代码:0
URI: http://www.mysite.com/CFIDE/scripts/ajax/ext/adapter/yui/ext-yui-adapter.js
当我查看js文件中字符10560周围的代码时,它显示
{return this.replace(a,"")}
为什么会发生这种情况?IE10有bug吗?(不,这不是反问句)
this
不是字符串。
要确保它能工作,你可以从
this.replace(a,"")
this.toString().replace(a,"")`
或者在var中使用.toString()
,当它仍然在你的控制下,所以你不需要实际改变YUI .js(坏的,因为如果你需要更新它的某一天,你可能会忘记并再次出现问题)。
顺便说一下,如果a
不是字符串,它已经被转换为字符串了,所以不用担心。
看到这个:http://jsfiddle.net/3Cd4d/(查看Dev Tools' Console)
好的。这就是导致它的原因。
我有一个指定多个的SELECT。
在我的验证函数中,我正在修剪这个字段的值。显然,IE10/IE7不喜欢这样。
感谢所有人的帮助,以及建议我没有传递字符串的人。