如何在与ie7兼容的struts 2中使datetimepicker只读

时间:2011-11-02 11:24:13

标签: struts2 struts internet-explorer-7

我正在使用Dojo Struts2 datetimepicker,但是可以使用键盘编辑文本字段。我只想读它。

我知道这个问题已在另一个主题上得到解答,但解决方案与ie7不兼容,这对我来说是必需的。

另一个主题的解决方案是:

window.onload = function() {
   document.getElementsByName("dojo.test")[0].setAttribute("readOnly","true");
}

但是,当我在IE7上尝试时,我收到一个javascript错误:

'document.getElementsByName(...).0' is null or not an object

我读到了这一点,并将其变为:

'document.getElementsBy**Id**(...).0'

但我收到另一个错误:该对象不支持该属性。

有什么建议吗?


我只是想知道我是否可以像使用简单的Struts2模板一样更改datetimepicker的模板...这将解决问题

2 个答案:

答案 0 :(得分:0)

<script type="text/javascript">
    $(document).ready(function() {
        makeReadonly();
    });

    function makeReadonly() {
        setTimeout(function () {
            $(".calendar").attr('readonly', 'readonly');
        }, 1000);
    }
</script>


<td>
    <sx:datetimepicker name="up_bod" displayFormat="yyyy-MM-dd" cssClass="rounded calendar" >
    </sx:datetimepicker>
</td>

答案 1 :(得分:0)

好问题。

使用以下脚本。这适用于所有浏览器。

 < % @ taglib prefix="sd" uri="/struts-dojo-tags" % >
 <head>
   <sd:head/>
</head>

< script type="text/javascript">
    window.onload = function() {
   document.getElementById('fromDate').children[1].setAttribute("readOnly","true");
};
</ script>

 <sd:datetimepicker  name="fromDate" id="fromDate" label="From Date" /> 

我希望这对你有用。