<ole>
Du kan prøve noget à la:
<script type="text/javascript">
var sAX="MSXML2.XMLHTTP.6.0 MSXML2.XMLHTTP.3.0 Msxml2.XMLHTTP Microsoft.XMLHTTP";
(function(){var x=window.XMLHttpRequest;if(!x){var o=s=null,a=sAX.split(" ");for(var i=0,j=a.length;i<j;s=a[i],i++){try{if(o=new ActiveXObject(s))break}catch(e){}}}window.XMLHttpRequest=x?x:o?function(){return new ActiveXObject(s)}:null;o=null;sAX=undefined})();
function foo(oSel, sDisplId) {
var oDispl = document.getElementById(sDisplId);
oDispl.firstChild.nodeValue = "Henter data ...";
var oHttp = new XMLHttpRequest();
var sQuery = "contxt=getSomething&value=" + encodeURIComponent(oSel.value);
oHttp.open("post", "/sti/til/fil.asp", true);
oHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
oHttp.onreadystatechange = reqCallback;
oHttp.send();
function reqCallback() {
if (oHttp.readyState<4) return;
eval("var oResp = " + oHttp.responseText);
if (oResp.error) {
oDispl.firstChild.nodeValue = "Der opstod en fejl: " + oResp.error;
}
else if (oResp.message) {
oDispl.firstChild.nodeValue = oResp.message;
}
oHttp = oResp = null;
}
}
</script>
<select onchange="foo(this, 'selDisplay')">
<option value="0">Vælg ...</option>
<option value="val_A">Option A</option>
<option value="val_B">Option B</option>
<option value="val_C">Option C</option>
<option value="val_D">Option D</option>
</select>
<span id="selDisplay"> </span>
Så kan du i ASP dokumentet finde POST variablerne
contxt, som indeholder værdien
getSomething og
value, som indeholder værdien af den valgte option. Den første variabel kan du bruge til at lade filen vælge, hvad den skal foretage sig - og hvad der skal returneres.
Inden du returnerer noget, sætter du en header, der sætter
Cotent-Type til
application/json. Derefter udskriver du i tilfælde af fejl en
JSON streng på formen:
{"error":"Hov, der skete dette eller hint"}
- og ellers:
{"message":"En eller anden besked til brugeren"}
/mvh
</bole>