2013-02-20 4 views
-1

Я хочу добавить переменные html: «<script>var var1 = new CalendarPopup();</script>» в соответствии с количеством, которое пользователь выбирает. На данный момент у меня есть установка AJAX, который предполагают, чтобы изменить тег для добавления переменных, изменив внутреннюю HTML следующим образом:Добавление динамических переменных html с помощью javascript

<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 возвращение ничего и мои varaibles не создаются. есть идеи?

Спасибо большое!

+2

Это переменная JavaScript, а не переменная HTML. Почему бы просто не создать JS в скрипте? – zzzzBov

+1

Ты действительно слишком задумываешься об этом. – JJJ

+0

'window.cal3 = new CalendarPopup();'. Готово. –

ответ

1

HTML не имеет переменных, и любые, которые определены в <script> без более глубокой вложенной области, могут быть простыми определены из объекта window.

Вместо того, чтобы пытаться вставить HTML, просто используйте:

window.cal3 = new CalendarPopup(); 

то любой другой скрипт может получить доступ к этой переменной сейчас или позже.

+0

Спасибо, он работает как шарм !! – Benchy

Смежные вопросы