-1

我想<script>var var1 = new CalendarPopup();</script>根据用户选择的数字添加 html 变量:“”。目前我有一个 ajax 设置,假设通过更改内部 html 来更改我的标签以添加变量,如下所示:

<div id="calVar">
    <script>
        var cal1 = new CalendarPopup();
        var cal2 = new CalendarPopup();
    </script>
</div>



        function addRespDropDownAjax(currentNumberOfDropDown)
    {

        //Prepare a new ajaxRequest.
        if (window.XMLHttpRequest) 
        {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
        } else {// code for IE6, IE5
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }

        //Ajax receiving the response in this function
        xmlhttp.onreadystatechange = function() 
        {
            //state 4 is response ready.
            //Status 200 is page found.
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {


                document.getElementById('calVar').innerHTML = '<script>var cal3 = new CalendarPopup();</script>';
                    alert(document.getElementById('calVar').innerHTML);

            }
        };

        //Send the Ajax request.
        xmlhttp.open('GET','mainServlet?command=ajax.AddRespDropDown&NUMBER_OF_DROP_DOWN=' + currentNumberOfDropDown, true);
        xmlhttp.send();

    }

最后一个警报 :document.getElementById('calVar').innerHTML 什么也不返回,我的变量也没有创建。有任何想法吗?

非常感谢!!

4

1 回答 1

1

HTML 没有变量,在<script>没有更深嵌套范围的情况下定义的任何变量都可以在window对象之外简单定义。

不要尝试插入 HTML,只需使用:

window.cal3 = new CalendarPopup();

那么任何其他脚本现在或以后都可以访问此变量。

于 2013-02-20T14:56:38.750 回答