Just nu i M3-nätverket
Gå till innehåll

AJAX loader


juano

Rekommendera Poster

Hej

Jag har precis börjat med AJAX och har fått igång en ajax snurre, funkar skit bra. Men skulle vilja en "loading..." eller en bild när jag håller på att ladda om sidan.

Jag vill inplementera den i min kod.

Kan ni hjälpa mig??! please. Jag har använt ASP

Jag har försökt flera dag, men får inte igång den. Här är koden

 

Här är ajax.js

var xmlHttp

function showCustomer(str)
{ 
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
 {
 alert ("Your browser does not support AJAX!");
 return;
 } 
var url="getcustomer.asp";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}

function stateChanged() 
{ 
if (xmlHttp.readyState==4)
{ 
document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
}
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
 {
 // Firefox, Opera 8.0+, Safari
 xmlHttp=new XMLHttpRequest();
 }
catch (e)
 {
 // Internet Explorer
 try
   {
   xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
   }
 catch (e)
   {
   xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
   }
 }
return xmlHttp;
}

 

här HTML koden

 

<html>
<head>
<script src="selectcustomer.js"></script>
</head><body><form> 
Select a Customer:
<select name="customers" onchange="showCustomer(this.value)">
<option value="ALFKI">Alfreds Futterkiste
<option value="NORTS ">North/South
<option value="WOLZA">Wolski Zajazd 
</select>
</form><p>
<div id="txtHint"><b>Customer info will be listed here.</b></div>
</p></body>
</html> 

 

På div="txtHint" vill jag kunna ha en bild eller en loading text

 

Och ASP koden

 

<%
response.expires=-1
sql="SELECT * FROM CUSTOMERS WHERE CUSTOMERID="
sql=sql & "'" & request.querystring("q") & "'"

set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("/db/northwind.mdb"))
set rs = Server.CreateObject("ADODB.recordset")
rs.Open sql, conn

response.write("<table>")
do until rs.EOF
 for each x in rs.Fields
   response.write("<tr><td><b>" & x.name & "</b></td>")
   response.write("<td>" & x.value & "</td></tr>")
 next
 rs.MoveNext
loop

response.write("</table>")
%>

 

Länk till kommentar
Dela på andra webbplatser

precis efter funktionen showCustomers kan du "skriva loading"

var xmlHttp

function showCustomer(str)
{ 
document.getElementById("txtHint").innerHTML = "Loading...";
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
 {
 alert ("Your browser does not support AJAX!");
 return;
 } 
var url="getcustomer.asp";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}

function stateChanged() 
{ 
if (xmlHttp.readyState==4)
{ 
document.getElementById("txtHint").innerHTML=xmlHttp.respons
eText;
}
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
 {
 // Firefox, Opera 8.0+, Safari
 xmlHttp=new XMLHttpRequest();
 }
catch (e)
 {
 // Internet Explorer
 try
   {
   xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
   }
 catch (e)
   {
   xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
   }
 }
return xmlHttp;
}

för när du får svar från ajax, så byts "loading" ut.

------------------------------------------------------------

Se om jag är online:

http://www.xfire.com/profile/darkluna/

// Codler

http://www.metrobloggen.se/codler

 

[inlägget ändrat 2008-08-20 19:28:49 av Codler]

Länk till kommentar
Dela på andra webbplatser

Tack för hjälpen!!

Det funkade jätte bra, jag har nu gjort om den så att det kommer en bild istället.

 

Tack!!

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...