Ajax 调用innerhtml 中的js
来源:互联网 发布:网络水晶头价格 编辑:程序博客网 时间:2024/05/16 06:43
http://topic.csdn.net/u/20100414/20/40eccdf9-1a92-4ced-8b60-0cc172230b57.html?seed=1463081105&r=64678964#r_64678964
这段时间碰到上面所讲的问题,经过一翻波折总算是找到解决的方法,记录下来先。
再次保存留底:
程序的思想如下:
A.asp
<script>
function createhttpxml(){...}
function select(selectname,selectid){
var x=new createhttpxml()
...
x.open(get,b.asp,true)
x.send(null);
}
<input name='os' type='hidden' value='0' ><input name='os1' type='text' value=''>
<a href='#' onclick="javascript:selecta('"&rs("software_name")&"','"&rs("software_id")&"')">os</a>
<div id='content1'></div>
B.asp
sqlstr="select * from tablea where fielda="&software_id
rs.open sqlstr,conn,1,1
do while not rs.eof
response.write "<a href='#' onclick=""javascript:selectvar(var1,var2,var3);"">"&rs("fieldb")&"</a>"
rs.movenext
loop
rs.close
response.write "<script>function selectvar(var1,var2,var3){...}</script>"
为什么我在做A.asp点击selecta 时b.asp中的循环执行了结果也出来了,但是后面的<script>...</script>就不执行输出到A.asp的页面上来?而且我点击selectvar时浏览器报错讲缺少对象,我查看源文件发现没有后面的这个javascript脚本。
今天把完整的程序整出来,
- JScript code
- // publicfunc.js ***************part of all ************function createXMLHttpRequest(){ try { xmlhttp=new ActiveXObjec("Msxml2.XMLHTTP"); } catch (e) { try{ xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch (e){ try{ xmlhttp=new XMLHttpRequest(); } catch (e){} } } return xmlhttp;}function configvar(varfield,mainkey,modkey){ var xmlhttp=createXMLHttpRequest(); var content=document.getElementById("content1"); content.style.display="inline"; xmlhttp.onreadystatechange=function() { if(4==xmlhttp.readyState) { if(200==xmlhttp.status) { document.getElementById("content1").innerHTML=xmlhttp.responseText; } else { alert(xmlhttp.status); } } } var url="selectvar.asp?modkey="+modkey+"&mainkey="+mainkey+"&varfield="+varfield; xmlhttp.open("get",url); xmlhttp.send(null); }
- VBScript code
- 'human_config.asp Part of main<meta http-equiv="Content-Type" content="text/html; charset=gb2312"><!--#include file="conn.asp"--><!--#include file="publicfunc.asp"--><!--#include file="sytable.asp"--><!--#include file="publicfunc.js"--><body><div id="tableContainer" class="tableContainer"><table border="0" cellpadding="0" cellspacing="0" width=100% class="scrollTable"><thead class="fixedHeader"><%response.write "<th><a href='human_config.asp?modkey=report&order=Username'>User Name</a></th>"response.write "<th><a href='human_config.asp?modkey=report&order=Position'>Position</a></th>"response.write "<th><a href='human_config.asp?modkey=report&order=Department'>Department</a></th>"response.write "<th><a href='human_config.asp?modkey=report&order=Company'>Company</a></th>"response.write "<th><a href='#'>SoftwareConfig</a></th>"response.write "<th><a href='#'>MachineConfig</a></th>"response.write "</tr>"response.write"</thead>"response.write "<tbody class='scrollContent'>"dim mainkey,modkeymainkey=request("mainkey")modkey=request("modkey")set rs=server.CreateObject("adodb.recordset")select case modkeycase "report" order=request("order") select case order case "Username" sqlstr="select * from clinet_config_view order by cuser_name" case "Position" sqlstr="select * from clinet_config_view order by cposition" case "Department" sqlstr="select * from clinet_config_view order by department" case "Company" sqlstr="select * from clinet_config_view order by company,department,cuser_name" case else sqlstr="select * from clinet_config_view order by company,department,cuser_name" end select rs.open sqlstr,conn,1,1 do while not rs.eof response.write "<tr><td>"&rs("cuser_name")&"</td><td>"&rs("cposition")&"</td><td>"&rs("department")&"</td>" response.write "<td>"&rs("company")&"</td>" response.write "<td><a href='human_config.asp?modkey=softmodfiy&mainkey="&rs("cuser_id")&"'>Config Software</a></td>" response.write "<td><a href='human_config.asp?modkey=hardmodfiy&mainkey="&rs("cuser_id")&"'>Config Hardware</a></td>" response.write "</tr>" if err then response.write err.description response.end end if rs.movenext loop rs.closecase "softmodfiy"sqlstr="select * from soft_type_table"rs.open sqlstr,conn,1,1if rs.eof then response.write "<script language='javascript'>alert('Found the Record');history.go(-1);</script>" response.endelse response.write "<form id='form1' name='form1' action='human_config.asp?modkey=softsave&mainkey="&mainkey&"' method='post'>" do while not rs.eof response.write "<tr>" response.write "<td colspan=3 align='right'><a href='#' onclick=""javascript:configvar('"&rs("soft_type_name")&"',"&rs("soft_type_id")&",'software');"">Config "&rs("soft_type_name")&"</a>" response.write "<input name='"&rs("soft_type_name")&"' type='hidden' value='0' ></td><td colspan=3 align='left'>" response.write "<input name='"&rs("soft_type_name")&"1' type='text' size='20' value=''>" response.write "</td></tr>" rs.movenext loop response.write "<tr align='right'><td colspan=3 ><input type='submit' value='Modifly' onclick='checkt();'></td><td colspan=3><input type='button' value='Close' onclick='self.close();return false;' ></td></tr>" response.write "</form>" response.write "<tr><td colspan=6><span id='content1' display: none;>Select...</span></td></tr>"end if rs.closeend select
//selectvar.asp
- VBScript code
- <!--#include file="conn.asp"--> <%Response.Charset="GB2312" set rs=server.createobject("adodb.recordset") modkey=request("modkey") mainkey=request("mainkey") varfield=request("varfield")select case modkeycase "software" sqlstr="select * from software_view where software_type="&cint(mainkey) rs.open sqlstr,conn,1,1 str="<table><tr><td>Software Name</td><td>Software Type</td><td>Software Series</td></tr>" do while not rs.eof str=str&"<tr><td><a href=""javascript:selectvar("&rs("software_id")&",'"&varfield&"','"&rs("software_name")&"')"">"&rs("software_name")&"</a></td><td>"&rs("soft_type_name")&"</td><td>"&rs("software_series")&"</td></tr>" rs.movenext loop rs.closecase else str="Can't found !"end selectstr=str&"<script>function selectvar(varid,varname,varfield){document.form1."&varfield&".value=varid;document.form1."&varfield&"1.value=varfield;}</script>" response.write str %>我想做到的是在selectvar.asp中执行javascript的selectvar()时可以选中相对应的ID和名称。
但实际是执行报错:
Line:1
Char:1
Code:0
Error:缺少对象
网址:http://192.168.1.1/human_config.asp?modkey=softmodfiy&mainkey=2
我想应当是下面的这段javascript没有执行,有没有大侠帮助看下,如何调用才能获取到javascript脚本
"<script>function selectvar(varid,varname,varfield){document.form1."&varfield&".value=varid;document.form1."&varfield&"1.value=varfield;}</script>"
我有个简单的办法就是将要选中的ID先输出到public.js中,但如果数据库中soft_type_table的内容发生变化就需要增加相应的ID,这会不方便也会造成出错缺少对象。 - 经过简单修改后,可以达到我的目标了。
- JScript code
- function configvar(varfield,mainkey,modkey){ var xmlhttp=createXMLHttpRequest(); var content=document.getElementById("content1"); content.style.display="inline"; xmlhttp.onreadystatechange=function() { if(4==xmlhttp.readyState) { if(200==xmlhttp.status) { //document.getElementById("content1").innerHTML=xmlhttp.responseText; getinnerHTML(document.getElementById("content1"),xmlhttp.responseText); } else { alert(xmlhttp.status); } } } var url="selectvar.asp?modkey="+modkey+"&mainkey="+mainkey+"&varfield="+varfield; xmlhttp.open("get",url); xmlhttp.send(null); }function getinnerHTML (el, htmlCode) {var ua = navigator.userAgent.toLowerCase();if (ua.indexOf('msie') >= 0 && ua.indexOf('opera') < 0) {htmlCode = '<div style="display:none">for IE</div>' + htmlCode;htmlCode = htmlCode.replace(/<script([^>]*)>/gi,'<script$1 defer>');el.innerHTML = htmlCode;el.removeChild(el.firstChild);} else {var el_next = el.nextSibling;var el_parent = el.parentNode;el_parent.removeChild(el);el.innerHTML = htmlCode;if (el_next) {el_parent.insertBefore(el, el_next)} else {el_parent.appendChild(el);}}return el}
- Ajax 调用innerhtml 中的js
- Ajax中动态执行返回到innerHTML中的js
- innerHTML中的js运行
- JS中的innerHTML和innerText
- js中的innerHtml和innerText
- FireFox下的JS调用innerHTML无效
- js中的value和innerHTML和inerText
- js中的innerHTML,innerText,value的区别
- js-innerHTML
- Js innerHTML
- ajax innerHTML中js定义数组识别问题
- 让Ajax返回的innerHTML中的Javascript代码运行起来
- js库,ajax调用
- js ajax调用请求
- js中的 innerhtml与jquery中的html()区别
- 关于js中的ajax
- js中的ajax技术
- 无刷新ajax调用js
- 手把手建立一个Silverlight应用程序(1)
- VS2005编译GDAL方法
- 我的初一老师
- Silverlight入门学习(4)
- 什么是线程安全? 线程安全是怎么完成的(原理)?
- Ajax 调用innerhtml 中的js
- Oracle SQL优化2
- Microsoft Application Center Test测试小结
- 网络工程师必读——网络系统设计
- Silverlight入门学习(5)
- sql 分割字符串
- 手把手建立一个Silverlight应用程序(2)
- 存储过程分页
- Silverlight入门学习(6)