show()函数,在页面其他地方调用是可以的
但是在这段代码中就是不能执行,提示说缺少对象;
两个函数都是在同一个JS文件中
恳请高人帮忙!代码贴在下面:function handle(id){
...
xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState == 4){
show(id);
alert(xmlHttp.responseText);
}
}
...}function show(id){
...
}
但是在这段代码中就是不能执行,提示说缺少对象;
两个函数都是在同一个JS文件中
恳请高人帮忙!代码贴在下面:function handle(id){
...
xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState == 4){
show(id);
alert(xmlHttp.responseText);
}
}
...}function show(id){
...
}
解决方案 »
- 哪位大神来看下这个特效怎么弄啊
- javascript文档站,自己开发的,来顶顶哦
- 一个页的的contentEdittable设为true后怎样触发事件
- 请问大家那里有中文的DHTML和JavaScript的参考手册呀?
- 请教javascript当中当中如何根据用户的分辨率调整页面大小
- 使用javascript+html实现类似资源管理器的树形菜单效果遇到难题,求教
- 各位高手,为什么层上table的内容显不出来?
- :有个问题,我有个控件要在网页上用,但不能确定客户系统中有没有,我想要flash控件一样,若客户端没有就自动下载并装入系统,请问该什样做
- 如何删除数组中重复的值?
- mxgraph怎么将图保存为xml文件存放到本地?
- 点击button 出现下拉菜单
- 消息提示层问题
function handle(id){
...
xmlHttp.onreadystatechange = function(id){
if(xmlHttp.readyState == 4){
show(id);
alert(xmlHttp.responseText);
}
}
...}function show(id){
...
}
function handle(id){
...
xmlHttp.onreadystatechange = function(id){
if(xmlHttp.readyState == 4){
show(id);
alert(xmlHttp.responseText);
}
}
...}function show(id){
...
}
这样可以吗?
var s_value = document.getElementById(id).value;
var s_url = "handle.jsp?type=que&p=" + encoder(s_value);
var xmlHttp;
try{
xmlHttp = new XMLHttpRequest();
}catch(e){
try{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
alert("您的瀏覽器不支持AJAX!");
return false;
}
}
} xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState == 4){
document.getElementById("d_show").innerHTML = xmlHttp.responseText;
}
}
xmlHttp.open("POST",s_url,true);
xmlHttp.send(null);
}function handle(str,id){
var s_url = "handle.jsp"
if(str == "add"){
var grp = document.getElementById("grp");
var dep = document.getElementById("dep");
var cop = document.getElementById("cop");
var s_grp = getParas(grp);
var s_dep = getParas(dep);
var s_cop = getParas(cop);
var s_id = encoder(document.getElementById(id).value);
s_url = s_url + "?type=add" + "&p=" + s_id + s_cop + s_dep + s_grp;
}
if(str == "del"){
var show = document.getElementById("show");
var s_show = getParas(show);
var s_id = encoder(document.getElementById(id).value);
s_url = s_url + "?type=del" + "&p=" + s_id + s_show;
}
var xmlHttp;
try{
xmlHttp = new XMLHttpRequest();
}catch(e){
try{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
alert("您的瀏覽器不支持AJAX!");
return false;
}
}
} xmlHttp.onreadystatechange = function(id){
if(xmlHttp.readyState == 4){
alert(xmlHttp.responseText);
show(id);
}
}
xmlHttp.open("POST",s_url,true);
xmlHttp.send(null);
}
提示什么?函数里面要调用show(id)肯定要传入参数id的。难道是要把show放前面?
function show(id){
... function handle(id){
...
xmlHttp.onreadystatechange = function(id){
if(xmlHttp.readyState == 4){
show(id);
alert(xmlHttp.responseText);
}
}
... }
如果直接给参数show("id")这样也不行
show函数已经放在了handle的前面了
if(xmlHttp.readyState == 4){
alert(xmlHttp.responseText);
show(id);
}
你这里是对象xmlHttp的操作,而你show(id)里面又新建了个对象xmlHttp,又给它调用一个函数。问题应该是出在这里。
还有,你的代码写的太乱,建议创建xmlhttp单独写个函数,匿名函数也可以抽取出来,这样代码不会那么臃肿。
代码还是写的简洁 清晰好点 好维护看着也爽
return xmlHttp == null && false || function(){
try {
xmlHttp.open("GET", getPath, true);
xmlHttp.onreadystatechange = function(){
xmlHttp.readystate==4&&xmlHttp.status==200&&
(show(getPath), alert(xmlHttp.responseText))
}
xmlHttp.send(null);
}catch(e){}
}()
})
(function(){try{ return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){try{ return new ActiveXObject("Msxml2.XMLHTTP")
}catch(e){return null}}}(),"http://topic.csdn.net/u/20090701/11/07c76831-4459-4452-aa50-d1c7eac1da27.html?46104");function show(id){
alert(id)
}</script>