Avatar billede hansen Nybegynder
30. januar 2010 - 15:33 Der er 2 kommentarer

Forsøg på ajax

Hej, jeg har sakstet lidt i andre indlæg om ajax, har forsøgt mig, men uden held!

Kan i se hvad der går galt med mit forsøg, ideen er at der er en selectboks der opdaterer en anden udfra første valg

Findcity.asp er bare en fil med indhold der allerede er "hentet" fra en database! (pt. statisk i dette eksempel)

dropdown.asp
------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Country</title>
<script language="JavaScript" type="text/JavaScript">
//Opretter forbindelse afhængigt af browseren
function createXHR() {
    var req = false;
        try {
            req = new ActiveXObject('Msxml2.XMLHTTP');
        }
        catch (err2) {
            try {
                req = new ActiveXObject('Microsoft.XMLHTTP');
            }
            catch (err3) {
        try {
            req = new XMLHttpRequest();
        }
        catch (err1) {
            req = false;
        }
            }
        }
    return req;
}

//Benytter createXHR, henter kode fra filen 'a' og gemmer i et div-element
function Ajax(a,b) {
    var req = createXHR();

    req.onReadyStateChange = function() {
        if (req.readyState == 4 && req.status == 200) {
            document.getElementById(b).innerHTML = document.getElementById(a).innerHTML + req.responseText;
        }
    }

    req.open("GET", a, true);
    req.send(null);
}
</script>
</head>

<body>

<form method="post" action="" name="form1">
Country : <select name="country" OnChange="Ajax('findcity.asp','indhold');">
<option value="">Select Country</option>
<option value="1">USA</option>
<option value="2">Canada</option>
    </select>
<br />City :

<div id="indhold">
</div>
</form>
</body>

</html>

findcity.asp
-------------
<select name="city">
<option>Select City</option>
<option value="1">allerød</option>
<option value="2">Svendborg</option>
</select>
Avatar billede intenz Novice
30. januar 2010 - 18:13 #1
Det er svært lige at gennemskue, da du ikke forklarer hvor fejlen kommer. F.eks. går ajax kaldet igennem, giver denne her en værdi?

alert(req.responseText);
Avatar billede skelboe Nybegynder
16. februar 2010 - 19:34 #2
Brug jQuery så kan du lave dine ajax kald sådan her

$.ajax({
    type: 'POST|GET',
    url: '/mit-link',
    beforeSend: function(){
        // her kan køres noget kode før den sender
    },
    success: function(response) {
        // gør noget med dit response
    }
})


og det virker hver gang
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester