alfresco ---- 如何将事件处理程序添加到 surf 模板中?

发布于 2024-08-02 23:01:35 字数 1247 浏览 9 评论 0原文

        <div class="yui-gd">
            <div class="yui-u first"><label for="${args.htmlid}-addContent">${msg("label.HowToAddContent")}:</label></div>
            <div class="yui-u"> 
              <select id="addContent" name="addContent" onchange="dropdown(this)">
                  <option value="1" selected="selected">${msg("label.generateFromDescription")}</option>
                  <option value="2">${msg("label.uploadFile")}</option>
               </select>   
              </div>   

         </div>
<script type="text/javascript">//<![CDATA[
       function dropdown(sel){
              //if(document.getElementById("addContent").value == "1")
            if(sel.value == "0"){
               document.getElementById('desc').style.display = 'block'
         }
            else {
            document.getElementById('desc').style.display = 'none'
         }
      }       
//]]></script>

我写它是因为我想将事件处理程序添加到选择框中,它在 Firefox 中运行良好,但在 IE 中它总是抛出 null 异常。 即使我使用了 AttachEvent ,它仍然无法在 IE 中工作。 如果我在上面使用 document.getElementById("addContent") ,它总是会抛出 null 异常! 但所有这些都在 Firefox 中运行良好!

有人能告诉我为什么吗? 提前致谢 !

        <div class="yui-gd">
            <div class="yui-u first"><label for="${args.htmlid}-addContent">${msg("label.HowToAddContent")}:</label></div>
            <div class="yui-u"> 
              <select id="addContent" name="addContent" onchange="dropdown(this)">
                  <option value="1" selected="selected">${msg("label.generateFromDescription")}</option>
                  <option value="2">${msg("label.uploadFile")}</option>
               </select>   
              </div>   

         </div>
<script type="text/javascript">//<![CDATA[
       function dropdown(sel){
              //if(document.getElementById("addContent").value == "1")
            if(sel.value == "0"){
               document.getElementById('desc').style.display = 'block'
         }
            else {
            document.getElementById('desc').style.display = 'none'
         }
      }       
//]]></script>

I write it because i want to add event handler into select box, it works well in firefox, but in IE it always throw null exception.
Even through i used attachEvent , it still can not work in IE.
If i use document.getElementById("addContent") in above, it will always throw null exception!
But all these things work well in Firefox!

Can someone tell me why ?
Thanks in advance !

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

赢得她心 2024-08-09 23:01:35

您使用的是哪个版本的 IE?
如果是旧版本,尝试通过选项获取选择的值:

var selectedValue = sel.options[sel.selectedIndex].value;

Which IE version are you using?
If it's an old version, try to get the selected value through the options:

var selectedValue = sel.options[sel.selectedIndex].value;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文