Asp.net HTML在使用javascript创建后消失
解决这个问题后,我又遇到了一个问题 我动态地创建HTML元素,并给出从XML文件读取的值,这些元素总是在创建之后消失。为什么会这样?我的代码在cs文件中Asp.net HTML在使用javascript创建后消失,asp.net,javascript,xml,Asp.net,Javascript,Xml,解决这个问题后,我又遇到了一个问题 我动态地创建HTML元素,并给出从XML文件读取的值,这些元素总是在创建之后消失。为什么会这样?我的代码在cs文件中 script = "function OnClientDragEnd(dock, args)" + "{" + " req = false; " +
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>
....
。。。。
....
答案并不准确,但有两条建议:
我们需要一些代码来回答这个问题,“消失”是什么意思?当您查看>源时,它们不会显示?(这是意料之中的,它显示源代码,而不是实时DOM的呈现)。内容在页面中出现几秒钟,然后消失?还有别的吗?就是这样。如果我在开始时发出警告,它会显示带有XML值的元素,否则HTML元素消失不到一秒钟,更像是一个闪光灯。我必须为HTML元素做些什么才不会消失?是否有一个网站可以让我更好地阅读和理解jQuery,并在我的案例中应用jQuery?