AJAX请求返回一段js代码,页面如何调用这段代码,并给文本框赋值呢?
AJAX请求返回一段js代码,页面如何调用这段代码,并给文本框赋值呢?AJAX请求返回的JS代码如下:<scriptlanguage=javascript>try{par...
AJAX请求返回一段js代码,页面如何调用这段代码,并给文本框赋值呢?
AJAX请求返回的JS代码如下:
<script language=javascript>
try{parent.document.all['ID'].value='1';}catch(e){}
try{parent.document.all['jc'].value='王';parent.get_xm('王','王','F');}catch(e){}parent.document.all['dwait'].style.display='none';</script> 展开
AJAX请求返回的JS代码如下:
<script language=javascript>
try{parent.document.all['ID'].value='1';}catch(e){}
try{parent.document.all['jc'].value='王';parent.get_xm('王','王','F');}catch(e){}parent.document.all['dwait'].style.display='none';</script> 展开
3个回答
展开全部
大概的处理思路应该是这样的: 先通过AJAX,从服务器端的某个文件取得这段js代码,然后动态创建一个<script>标签,把取得js代码字串写入到<script>标签里就可以了!
这边有个小问题,不知道你取得代码为什么要包含<script>标签 ,这样我动态创建<script>标签时,还需要在字串里把<script language=javascript>跟</script>去掉才行。
先按照你返回的代码的样式,用js处理一下吧,测试代码如下:
<html>
<head>
<script language="javascript">
function window_load(){
getAndRunScript("test.js",true,processScriptBeforeRun);
}
/*
加载并执行指定文件中的代码,参数:
*/
function getAndRunScript(url,async,process,callback){
var r = createXmlHttpRequest();
//初始化XMLHttpRequest组件
r.open("get",url,async);
//发送请求
r.send(null);
//将取得的js代码添加到画面的script标签里
appendScript(process ? process(r.responseText) : r.responseText );
callback && (callback(codes));
}
//XmlHttpRequest对象
function createXmlHttpRequest(){
if(window.ActiveXObject){ //如果是IE浏览器
return new ActiveXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){ //非IE浏览器
return new XMLHttpRequest();
}
}
//创建一个新的script标签,并将指定的js代码写入到标签内
function appendScript(codes){
//创建script标签
var s = document.createElement("<script type='text/javascript'>");
s.text = codes;
var head = document.getElementsByTagName("head")[0];
head.appendChild(s);
}
//去除script代码字串中的script标签
function processScriptBeforeRun(script){
return script.replace(/<[^>]+>/g,"");
}
</script>
</head>
<body onload="window_load();">
<input type="text" id="text1">
</body>
</html>
这个是用javascript + XMLHttpRequest来实现的。
其实如果你返回的代码里不包含<script>标签的话(就像普通的js文件里的内容就行),你可以直接用jQuery的getScript方法就行了:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script language="javascript">
$(document).ready(function(){
// 用jQuery的getScript方法,则js代码字串不能带有<script>标签,否则无法执行
$.getScript("./test.js");
});
</script>
</head>
<body >
<input type="text" id="text1">
</body>
</html>
最后把我测试用的代码放到附件里.. 你自己测测看,看是不是你想要的那种方式吧!
追问
正在测试中
展开全部
在你想要插入值的地方,用以下三种方式:
document.getElementById("要显示内容的文本框ID").value="返回的内容";
document.getElementsByName("要显示内容的文本框name")[0].value="返回的内容";
document.getElementById("要显示内容的文本框ID").innerHTML="返回的内容";(用于将整段内容放进去)
document.getElementById("要显示内容的文本框ID").value="返回的内容";
document.getElementsByName("要显示内容的文本框name")[0].value="返回的内容";
document.getElementById("要显示内容的文本框ID").innerHTML="返回的内容";(用于将整段内容放进去)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用document.getElementById("文本框的ID").value="你想要显示的信息"
追问
取值用<input id=XX ....就可以取到。
现在的问题是,我用AJAX发送请求后返回了上面的一段JS代码,如何把他插入到网页中呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询