我有一个YUI应用程序,在这个特定实例中,我只是尝试使用以下代码在输入元素上设置属性。
var itemDescription = document.createElement( "input" );
itemDescription.setAttribute("type","text");
YAHOO.util.Dom.addClass( itemDescription, "textInput" );
YAHOO.util.Dom.addClass( itemDescription, (isPicture ? "pictureTextInput" : "otherTextInput" ) );
YAHOO.util.Dom.setAttribute( itemDescription, "maxlength", (isPicture ? "60" : "40" ) );
itemDescription.maxlength = (isPicture ? "60" : "40" );
itemDescription.name = "description";
itemDescription.title = "description";
itemDescription.id = "desc-"+this.fileId;
特别感兴趣的是第5行(也许是第6行),其中设置了maxLength
属性。当我从运行Windows XP的本地Tomcat 6服务器打开此站点时,属性设置正确。使用IE8的开发人员工具进行调试表明,innerHtml
和maxLength
都设置为正确的值。当我在运行Weblogic 10的远程AIX服务器上打开此站点时,仅设置innerHtml
,保持实际的maxLength
属性不变。
我知道代码没有(正确?)引用属性的区分大小写的名称,但我仍然不明白为什么预期的行为是在本地而不是远程实现的。我不能为我的生活想想OS或Servlet容器为什么重要,但我几乎不能胜任Javascript并继承了这个代码库,所以,为了清楚起见,这里是环境统计数据。
本地 操作系统:Windows XP Servlet容器:Tomcat 6
远程 操作系统:AIX Servlet容器:Weblogic 10
我使用的浏览器是IE8(8.0.6001.18702)。