Hallo,
Ik ben nu bezig met een pagina die om de 30 seconden ZONDER refresh data uit een database leest, nu heb ik dit al voor elkaar met onderstaande code.
Even kort hoe het werkt:
Ik heb nu één pagina waarop een div genaamd "resultatenDiv" staat waarin een php pagina (faq.php) wordt gedropt, het ajax script leest de faq.php steeds uit en dropt deze dus opnieuw in de div. Echter als ik in de faq.php pagina JQuery ga gebruiken gaat het fout, de JQuery code werkt niet. Dit is mijn ajax code:
Dit is mijn php pagina:
En mijn JQuery code:
Ik zal even verder uitleggen hoe mijn pagina's in elkaar zitten:
In de head tags van mijn Index.php (hoofdpagina) heb ik verwezen naar de pagina met de JQuery code en naar de pagina met de AJAX code. Op mijn Index.php bevind zich een div waarin de subpagina's worden geladen mbv include (functioneert dus als het ware als IFRAME). Nu werkt alles perfect, als ik de home.php inlaad in de Index.php werken de JQuery functies op de home.php erg goed, maarrrr... Zodra ik de pagina met de div "resultatenDiv" aanroep wordt netjes door AJAX de php pagina in de div gedropt, alleen de JQuery code wordt niet meegenomen!
Ik heb al vanalles geprobeerd en ben erachter gekomen dat javascript wel werkt als ik bv. naar een functie verwijs die zich bv. in de Index.php bevindt, maar zodra ik in de JQuery code verwijs naar een div OP de php pagina die wordt uitgelezen door Ajax, werkt het niet meer. Ik heb alleen nog voor elkaar gekregen dat de div die uit hoort te klappen mbv toggle, 1 px uitklapt, maar dan stopt hij ermee. Iemand een oplossing?
Ik ben nu bezig met een pagina die om de 30 seconden ZONDER refresh data uit een database leest, nu heb ik dit al voor elkaar met onderstaande code.
Even kort hoe het werkt:
Ik heb nu één pagina waarop een div genaamd "resultatenDiv" staat waarin een php pagina (faq.php) wordt gedropt, het ajax script leest de faq.php steeds uit en dropt deze dus opnieuw in de div. Echter als ik in de faq.php pagina JQuery ga gebruiken gaat het fout, de JQuery code werkt niet. Dit is mijn ajax code:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| function createRequestObject() { var req; if(window.XMLHttpRequest){ req = new XMLHttpRequest(); } else if(window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); } else { alert('Problem creating the XMLHttpRequest object'); } return req; } var http = createRequestObject(); function getPhp() { http.open('post','http://192.168.1.249/Betterlook%20good/websites/Ticket%20service/IT-staff/get_tickets.php',true); http.onreadystatechange = getPhpResponse; http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); http.send(null); } function getPhpResponse() { if(http.readyState == 4 && http.status == 200) { document.getElementById('resultatenDiv').innerHTML = http.responseText; } } setInterval(function (nTimeInterval) { getPhp(); nTimeInterval = nTimeInterval || 0; },30000); |
Dit is mijn php pagina:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| <?php $Domain = '192.168.1.249/Betterlook good/websites/Ticket service'; $Domaincookie = '192.168.1.249'; $database = mysql_connect('localhost', 'root'); mysql_select_db('ticketservice',$database); //Tabel berichten weergeven: echo '<h1 style="color: #2498BE; font-size:2.0em; font-family:"Arial"; font-weight:bold;">FAQ</h1><br/>'; $i=1; echo '<input type="text"><input type="submit" value="search"><br/><br/>'; echo '<table class="faq_table" cellpadding="0px" cellspacing="0px" align="center">'; $query = ("SELECT * FROM faq INNER JOIN users ON faq.user_id = users.user_id ORDER BY ticket_id DESC"); $resultaat = mysql_query($query) or die ("FOUT: " .mysql_error()); // query uitvoeren $bg = 0; $i=0; while($record = mysql_fetch_object($resultaat)) { echo "<tr class='faq_table_tr'>"; echo "<td valign='top' width='83%'><div class='faq_h1$i'><h1>"; echo "What to do with a blue screen?</h1></div></td><td width='25%'class='post'>"; echo "<img class='plus' src='../images/plus.png' /><img class='min' src='../images/minus.png' />posted on $record->date</td></tr>"; echo "<tr><td valign='top'><div class='faq_table_text$i'"; echo "$record->text</div></td></tr>"; $i++; } echo '</table>'; ?> |
En mijn JQuery code:
JavaScript:
1
2
3
4
5
6
| $(document).ready(function(){ $(".faq_h10").click(function(){ $(".faq_table_text0").toggle("slow"); return false; }); }); |
Ik zal even verder uitleggen hoe mijn pagina's in elkaar zitten:
In de head tags van mijn Index.php (hoofdpagina) heb ik verwezen naar de pagina met de JQuery code en naar de pagina met de AJAX code. Op mijn Index.php bevind zich een div waarin de subpagina's worden geladen mbv include (functioneert dus als het ware als IFRAME). Nu werkt alles perfect, als ik de home.php inlaad in de Index.php werken de JQuery functies op de home.php erg goed, maarrrr... Zodra ik de pagina met de div "resultatenDiv" aanroep wordt netjes door AJAX de php pagina in de div gedropt, alleen de JQuery code wordt niet meegenomen!
Ik heb al vanalles geprobeerd en ben erachter gekomen dat javascript wel werkt als ik bv. naar een functie verwijs die zich bv. in de Index.php bevindt, maar zodra ik in de JQuery code verwijs naar een div OP de php pagina die wordt uitgelezen door Ajax, werkt het niet meer. Ik heb alleen nog voor elkaar gekregen dat de div die uit hoort te klappen mbv toggle, 1 px uitklapt, maar dan stopt hij ermee. Iemand een oplossing?