2010-02-18 6 views
0

я с другой проблемой после решения этойHTML исчезают после того, как был создан с JavaScript

Trying to read XML file but he is always the same

Я создаю HTML элементы динамически, и дает значения, которые я считанных из файла XML, элементы всегда исчезают, но после их создания. Любая причина, почему это происходит? Мой код это в сСт файл

script = "function OnClientDragEnd(dock, args)" + 
          "{" +      
          " req = false; " + 
          " var isIE = false;" + 
        // branch for native XMLHttpRequest object 
          " if(window.XMLHttpRequest && !(window.ActiveXObject)) {" + 
          "  try {" + 
          "   req = new XMLHttpRequest();" + 
          "  } catch(e) {" + 
          "   req = false;" + 
          "  }" + 
        // branch for IE/Windows ActiveX version 
          " } else if(window.ActiveXObject) {" + 
          "  try {" + 
          "   req = new ActiveXObject('Msxml2.XMLHTTP');" + 
          "  } catch(e) {" + 
          "   try {" + 
          "    req = new ActiveXObject('Microsoft.XMLHTTP');" + 
          "   } catch(e) {" + 
          "    req = false;" + 
          "   }" + 
          "  }" + 
          " }" + 
          " if(req) {" + 
          "  req.onreadystatechange = function(){processReqChange(dock,args)};" + 
          "  req.open('GET', 'Config.xml', false);" + 
          "  req.send('');" + 
          " }" + 
          "}" + 
          "function processReqChange(dock,args) {" + 
           // only if req shows "loaded" 
          " if (req.readyState == 4) {" + 
            // only if "OK" 
          "  if (req.status == 200) {" + 
            // ...processing statements go here... 
          "   var contagemNos = req.responseXML.documentElement;" + 
          "       var txt = contagemNos.childNodes(i).getElementsByTagName('Titulo')[0].text;" +//alert(txt); 
        "       var ta = contagemNos.childNodes(i).getElementsByTagName('Id')[0].previousSibling; var tatext = ta.text;" +//alert(tatext); 
        "       var ni = document.getElementById('spanObjDock');" + 
        "       var divIdName = 'myDiv';" + 
        "       var newdiv = document.createElement('div');" + 
        "       newdiv.setAttribute('id',divIdName);" + 
        "       var labelTitulo = document.createElement('label');" + 
        "       labelTitulo.id = 'span1';" + 
        "       labelTitulo.innerHTML = 'Titulo';" + 
        "       newdiv.appendChild(labelTitulo);" + 
        "       var break1 = document.createElement('br');" + 
        "       newdiv.appendChild(break1);" + 
        "       var tboxTitulo = document.createElement('input');" + 
        "       tboxTitulo.setAttribute('type', 'text');" + 
        "       tboxTitulo.setAttribute('value', txt);" + 
        "       tboxTitulo.setAttribute('name', 'tboxTitulo');" + 
        "       tboxTitulo.setAttribute('id', 'tboxTitulo');" + 
        "       if (tboxTitulo.addEventListener){" + 
        "        var enviar = 'tboxTitulo';" + 
        "        tboxTitulo.addEventListener('keyup', function(){updateValueTitulo(enviar);}, false);" + 
        "       } else if (tboxTitulo.attachEvent){ " + 
        "        var enviar = 'tboxTitulo';" + 
        "        tboxTitulo.attachEvent('onkeyup', function(){updateValueTitulo(enviar);});" + 
        "       }" + 
        "       newdiv.appendChild(tboxTitulo);" + 
        "       var break1 = document.createElement('br');" + 
        "       newdiv.appendChild(break1);" + 
        "       ni.appendChild(newdiv);" + 
          "  } else {" + 
          "   alert('There was a problem retrieving the XML data: ' + req.statusText);" + 
          "  }" + 
          " }" + 
          "}"; 
       ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "PositionChanged", script, true); 

и это мой код в ASPX файле

.... 
<asp:UpdatePanel runat="server" id="UpdatePanel3"> 
     <ContentTemplate>     
      <div id="spanObjDock"></div> 
     </ContentTemplate>   
</asp:UpdatePanel> 
.... 
+1

Нам потребуется код, чтобы ответить на этот – roryf

+0

Что "исчезает" означает? Они не отображаются, когда вы просматриваете> Источник? (Ожидается, что он показывает источник, а не рендеринг живой DOM). Содержимое появляется на странице в течение нескольких секунд, а затем исчезает? Что-то другое? – Quentin

+0

Вот и все. Если я ставил предупреждение в начале, он показывал мне элементы со значениями XML, иначе элементы HTML исчезают меньше секунды, это скорее похоже на вспышку. Что я должен сделать для HTML-элемента, не исчезают? – SlimBoy

ответ

-1

Не совсем ответ, но две рекомендации:

  1. Использование JQuery (или аналогичный библиотека, но jQuery поддерживается MS, и вы получаете Intellisense). Большая часть кода, который вы вставили, будет разрешена jQuery, вам не придется беспокоиться о разных браузерах, и вам просто нужно будет указать, что важно (ваша логика приложения).
  2. Используйте Firefox + Firebug для отладки кода. Вы можете добавить контрольные точки и запустить свой код шаг за шагом, чтобы узнать, в какой момент ваши изменения в HTML возвращаются.

Ссылки:

JQuery: http://jquery.com/

Firebug: http://getfirebug.com/

Использование JQuery в Visual Studio 2008: http://weblogs.asp.net/scottgu/archive/2008/11/21/jquery-intellisense-in-vs-2008.aspx

JQuery учебники: http://docs.jquery.com/Tutorials

JQuery .get() метод: http://api.jquery.com/jQuery.get/

+0

Есть ли сайт, где я могу читать и понимать лучше jQuery и где я могу подать заявку в моем случае? – SlimBoy

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