【发布时间】:2015-12-09 17:34:31
【问题描述】:
我目前正在使用旧代码以尝试使其在较新的浏览器中正常工作。该代码是用 Struts 1.3 编写的,并以下列方式广泛使用 html 标签库:
<html:text property="myTextInput" maxlength="10"/>
渲染时会生成以下 html:
<input name="myTextInput" type="text" maxlength="10" value="">
在旧版本的 IE 中,即使元素只有name 属性并且没有id 属性,也可以使用document.getElementById('myTextInput') 来获取引用。使用jsp html标签时,name属性在html代码中生成name属性,但不生成id属性。
我发现将styleId 添加到jsp 中的html 标记确实会将id 属性添加到生成的xml,但这意味着我必须触摸所有jsp 中的每个html 标记元素并将其更改为类似于:
<html:text property="myTextInput" styleId="myTextInput" maxlength="10"/>
我还找到了document.getElementByName(),但这会导致涉及到大量的javascript,而且(由于代码错误),我不知道它是否真的指的是id 或name 的元素所以这可能会导致一些问题。
有没有一种简单的方法可以在不触及每个元素的情况下添加 styleId 属性?
【问题讨论】:
标签: javascript java jsp struts struts-1