ik heb van iemand dit script gekregen.
code:
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
34
35
36
37
38
39
40
41
42
43
44
45
46
| <!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 http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<head>
<script type="text/javascript">
var handler = null; // een lege variabele aanmaken, die door het hele script heen te bereiken is.
window.onload = function(){
/*dit is een alternatieve manier om events te koppelen, maar het is de meest korte schrijfwijze. Zodra het window-object dus geladen is, wordt de functie die ik er aan koppel uitgevoerd.*/
var selectbox = document.getElementById('persoon');
/*Via getElementById kan je snel een element uit de pagina pakken, echt een aanrader! */
addEvent(selectbox, 'change', requestExtraInformatie);
/*Ik vul nu de onchange-trigger (ook wel bekend als onchange="functiehier") in van het element wat ik aan de variabele selectbox heb gekoppeld, immers het select-element met id="persoon". */
handler = createHTTPHandler();//een xmlhttp handler aanmaken en toewijzen aan de variabele handler, die ik eerder heb aangemaakt. (variabele aanmaken doe je door er 'var' voor te zetten.)
}
/*Nu een functie maken om de aanvraag om extra informatie uit te voeren */
function requestExtraInformatie(){
var selectbox = document.getElementById('persoon'); //weer de select-box selecteren
var persoon = selectbox.options[selectbox.selectedIndex].value; //de waarde van de momenteel geselecteerde optie in je selectbox bepalen.
handler.open('GET', 'extra.php?id='+persoon, true);// ?id was ?persoon instellen dat we een makkelijke aanvraag (GET) uitvoeren en vragen naar de pagina extra.php, waarbij we als parameter persoon met de waarde van de momenteel geselecteerde persoon meegeven.
handler.onreadystatechange = handleExtraInformatie; //aan het onreadystatechange-event vertellen dat waneer dat gebeurt, hij handleExtraInformatie uit gaat voeren.
handler.send(null); //de aanvraag uitvoeren, zie het als een formulier dat je zojuist hebt ingevoerd, en nu op de submit-knop drukt.
}
function handleExtraInformatie(){
if(handler.readyState == 4) //handler hebben we gemaakt in de top van het script, toegewezen bij het laden van de pagina, een aanvraag laten uitvoeren in requestExtraInformation en nu gaan we kijken of hij daar al klaar mee is. Pas als hij klaar is kunnen we de data eruit halen.
{
var informatievenster = document.getElementById('informatie');//het element in de pagina met het id="informatie" selecteren en toewijzen aan de variabele informatievenster.
informatievenster.innerHTML = handler.responseText; //Alles wat in het informatie-element zit wordt nu vervangen door de inhoud, het antwoord dat je aanvraag van de server heeft gekregen vervangen.
}
}
//en klaar ben je.
</script>
</head>
<body>
<select id="persoon">
<option value="1">Persoon 1</option>
<option value="2">Persoon 2</option>
</select>
<p id="informatie"></p>
</body>
</html> |
nu werkt deze code niet zoals het moet ik heb er al van alles mee geprobeert maar omdat ik eigenlijk geen kennis het van DOM/javascript kom ik er toch niet op eigen kracht uit. Ik krijg de volgende meldingen van FF javascript console onder andere:
- addEvent is not defined in line 14
- hendler has no properties in line 23
ik hoop dat jullie er meer van snappen
ik post hier nog even het php wat ik in wat in de parafraaf onder het dropdown menu komt
code:
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
34
35
36
37
38
39
40
41
| <?php
$db = mysql_connect("localhost","","")
or die("kan geen verbinding maken met de sql-server." .mysql_error());
mysql_select_db("hoi");
?>
<!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 http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<?php
$sql = mysql_query("SELECT * FROM klanten WHERE id LIKE ".$_GET['persoon']." ");
while ($x = mysql_fetch_object($sql)){
$voornaam=$x->voornaam;
$achtenaam=$x->achternaam;
$adres=$x->adres;
$postcode=$x->postcode;
$plaats=$x->plaats;
$telefoon=$x->telefoon;
$mobiel=$x->mobiel;
}
?>
<table>
<tr>
<td>voornaam: <? echo "$voornaam"; ?></td><td>achternaam: <? echo "$achternaam"; ?></td>
</tr>
<tr>
<td>adres: <? echo "$adres"; ?></td><td>postcode: <? echo "$postcode"; ?></td>
</tr>
<tr>
<td>woonplaats: <? echo "$plaats"; ?></td><td>telefoonnr: <? echo "$telefoon"; ?></td>
</tr>
<tr>
<td>mobiel: <? echo "$mobiel"; ?></td>
</tr>
</table>
</body>
</html> |
alvast bedankt voor de reacties