webForumDet fria alternativet

AJAX vill inte uppdatera

3 svar · 428 visningar · startad av whistler

whistlerMedlem sedan okt. 200148 inlägg
#1

Hej

Har en kalender som jag försöker integrera med ajax. Tanken är att när man klickar på ett datum så ska funktionen hamtadatum() köras och filen getdatum.asp ska hämta de "events" som finns under denna dag och skriva ut i en div (ajaxoutput). Detta fungerar bra när man trycker på första datumet, men sedan när jag försöker trycka igen så händer ingenting. Vad kan det vara för fel?

Bifogar kod:


<!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>
<script type="text/javascript">
<!-- // Required to be compliant with XHTML-->
 var xmlHttp=null; // Defines that xmlHttp is a new variable.
 // Try to get the right object for different browser
 try {
    // Firefox, Opera 8.0+, Safari, IE7+
    xmlHttp = new XMLHttpRequest(); // xmlHttp is now a XMLHttpRequest.
 } catch (e) {
    // Internet Explorer
    try {
       xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
       xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
 }
 xmlHttp.onreadystatechange = function() {
    if (xmlHttp.readyState == 4)
       try { // In some instances, status cannot be retrieved and will produce an error (e.g. Port is not responsive)
          if (xmlHttp.status == 200) {
             //Set the main HTML of the body to the info provided by the AJAX Request
             document.getElementById("ajax_output").innerHTML = xmlHttp.responseText;
          }
       } catch (e) {
          document.getElementById("ajax_output").innerHTML = "Error on Ajax return call : " + e.description;
       }

 }
 
 function hamtadatum(datum)
{
 xmlHttp.open("get","getdatum.asp?datum=" + datum); // .open(RequestType, Source);
 xmlHttp.send(null); // Since there is no supplied form, null takes its place as a new form.
}
</script>

</head>
<body>

<div id="calendar_frame">
<table id="calendar1" border="0" cellspacing="0" cellpadding="0">
<caption class="caption_cal">
<a href="?date=2008-02-13"><<</a>mars <a href="?date=2008-04-13">>></a>
</caption>
<tr>
	<th>M</th>
	<th>T</th>
	<th>O</th>
	<th>T</th>
	<th>F</th>
	<th>L</th>
	<th>S</th>
</tr>
<tr>

        <td class='cal_blanks'>&nbsp;</td>
        <td class='cal_blanks'>&nbsp;</td>
        <td class='cal_blanks'>&nbsp;</td>
        <td class='cal_blanks'>&nbsp;</td>
        <td class='cal_blanks'>&nbsp;</td>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('1');return false;">1</a></td>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('2');return false;">2</a></td>
      </tr><tr>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('3');return false;">3</a></td>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('4');return false;">4</a></td>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('5');return false;">5</a></td>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('6');return false;">6</a></td>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('7');return false;">7</a></td>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('8');return false;">8</a></td>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('9');return false;">9</a></td>
      </tr><tr>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('10');return false;">10</a></td>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('11');return false;">11</a></td>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('12');return false;">12</a></td>
        <td class='cal_today'>13</td>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('14');return false;">14</a></td>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('15');return false;">15</a></td>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('16');return false;">16</a></td>
      </tr><tr>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('17');return false;">17</a></td>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('18');return false;">18</a></td>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('19');return false;">19</a></td>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('20');return false;">20</a></td>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('21');return false;">21</a></td>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('22');return false;">22</a></td>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('23');return false;">23</a></td>
      </tr><tr>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('24');return false;">24</a></td>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('25');return false;">25</a></td>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('26');return false;">26</a></td>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('27');return false;">27</a></td>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('28');return false;">28</a></td>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('29');return false;">29</a></td>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('30');return false;">30</a></td>
      </tr><tr>
        <td  class="cal_day"><a href="#" onclick="javascript:hamtadatum('31');return false;">31</a></td>
        <td class=''cal_blanks'>&nbsp;</td>
        <td class=''cal_blanks'>&nbsp;</td>
        <td class=''cal_blanks'>&nbsp;</td>
        <td class=''cal_blanks'>&nbsp;</td>
        <td class=''cal_blanks'>&nbsp;</td>
        <td class=''cal_blanks'>&nbsp;</td>
</tr>
</table></div>

<div id="ajax_output">
Waiting to be replaced by Ajax Call
</div>

</body><br/>
</html>
voigtann1Medlem sedan juni 20019 519 inlägg
#2

Jag gissar på att du använder IE. IE spara resultatet.

din: "getdatum.asp?datum=" + datum

får du lägga in en "random" querystring:
"getdatum.asp?datum=" + datum + "&r=" + Math.random()

whistlerMedlem sedan okt. 200148 inlägg
#3

Hej och tack för snabbt svar.

Lade till random, men det fungerar fortfarande inte. Måste vara något fel med ajaxanropet. Är det något man måste nollställa efter att man har gjort första anropet?

whistlerMedlem sedan okt. 200148 inlägg
#4

någon?

132 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)