Javascript一次点击两个函数
我正在尝试在两个不同的分区中加载两个不同的文件。这是我正在使用的代码Javascript一次点击两个函数,javascript,ajax,function,load,Javascript,Ajax,Function,Load,我正在尝试在两个不同的分区中加载两个不同的文件。这是我正在使用的代码 var please_wait = null; function open_url(url, target) { if (!document.getElementById) { return false; } if (please_wait != null) { document.getElementById("target").innerHTML = please_wa
var please_wait = null;
function open_url(url, target) {
if (!document.getElementById) {
return false;
}
if (please_wait != null) {
document.getElementById("target").innerHTML = please_wait;
}
if (window.ActiveXObject) {
link = new ActiveXObject("Microsoft.XMLHTTP");
} else if (window.XMLHttpRequest) {
link = new XMLHttpRequest();
}
if (link == undefined) {
return false;
}
link.onreadystatechange = function () {
response(url, target);
}
link.open("GET", url, true);
link.send(null);
}
function response(url, target) {
if (link.readyState == 4) {
document.getElementById(target).innerHTML = (link.status == 200) ? link.responseText : "Ooops!! A broken link! Please contact the webmaster of this website and give him the following errorcode: " + link.status;
}
}
function set_loading_message(msg) {
please_wait = Loding;
}
对于链接的调用,我使用这个代码
<a href="javascript:void(0)" onclick="open_url('firstpage.php','containerA');open_url('secondpage.php','containerB')"> Click Here </a>
它只是在任何情况下加载后一个。我尝试了很多不同的方法,制作了两种完全不同的方法,例如open_url2,但是没有用。它在一个DIV中一次只加载一个请求。任何解决方案。使用老式的ajax调用,您都在做大量额外的工作。我认为使用jQueryAjax方法会更好 至于为什么要加载后者,您是否检查了firebug或其他网络工具,以查看是否两个文件都加载了如果它们都被加载,我相信可能发生的情况是后者正在用您正在使用的.innerHTML函数覆盖第一个。您想要附加。查看这些链接,使用jQuery将更容易:
您似乎正在使用
链接
作为全局变量。因此,对open\u url()
的第二次调用将覆盖从第一次调用创建的link
的值
您应该将其设置为open\u url()
函数的本地,并将其传递给response()
函数
var please_wait = null;
function open_url(url, target) {
// v----declare the variable
var link;
if (!document.getElementById) {
return false;
}
if (please_wait != null) {
// ----------------------v---"target" is a String???
document.getElementById("target").innerHTML = please_wait;
}
if (window.ActiveXObject) {
link = new ActiveXObject("Microsoft.XMLHTTP");
} else if (window.XMLHttpRequest) {
link = new XMLHttpRequest();
}
if (link == undefined) {
return false;
}
link.onreadystatechange = function () {
response(url, target, link); // <-- pass "link" to the response
}
link.open("GET", url, true);
link.send(null);
}
// receive "link"-------------v----so that you have the correct xhr object
function response(url, target, link) {
if (link.readyState == 4) {
document.getElementById(target).innerHTML = (link.status == 200) ? link.responseText : "Ooops!! A broken link! Please contact the webmaster of this website and give him the following errorcode: " + link.status;
}
}
function set_loading_message(msg) {
please_wait = Loding;
}
var请等待=null;
函数打开url(url,目标){
//v----声明变量
var-link;
如果(!document.getElementById){
返回false;
}
如果(请稍候!=null){
//-------------------------v---“target”是字符串吗???
document.getElementById(“目标”).innerHTML=请稍候;
}
if(window.ActiveXObject){
link=newActiveXObject(“Microsoft.XMLHTTP”);
}else if(window.XMLHttpRequest){
link=newXMLHttpRequest();
}
if(link==未定义){
返回false;
}
link.onreadystatechange=函数(){
响应(url、目标、链接);//如前所述,您在AJAX上存在争议
下面是您的代码在jQuery中的外观
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"</script>
<script type="text/javascript">
$(document).ready(function() {
$("#link1").click(function() {
$("#containerA').load("firstpage.php",function() {
$("#containerB').load("secondpage.php");
});
});
});
</script>
<a id="link1" href="#"> Click Here </a>