-1

<script>var var1 = new CalendarPopup();</script>ユーザーが選択した番号に応じて、html 変数 : " " を追加したい。現時点では、次のように内側のhtmlを変更してタグを変更して変数を追加すると思われるajaxセットアップがあります。

<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 に答える