In een applicatie wordt bij een onchange van een tekstvak volgende code gegenereerd:
De onchange roept de functie upudatepc op welke vervolgens naar selecteerpc.php gaat, deze geeft als waarde een aantal gevonden records terug in de vorm van de rijen van een tabel:
Vervolgens wordt de stelin() functie opgeroepen om van de geselecteerde radiobutton de value terug te krijgen.
Er stelt zich nl een probleem, als de selecteerpc.php slechts 1 rij teruggeeft dan gaat alles goed en dan herkent hij de value, maar vanaf het moment er meer dan 1 rij wordt teruggegeven dan krijg ik als value steeds undefined terug..
Ik weet totaal niet wat er fout gaat, of wat ik fout doe, en ik hoop dat iemand me hier een beetje kan helpen.
Alvast bedankt!
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
| function createHTTPHandler(){
httphandler = false;
if (!httphandler && typeof XMLHttpRequest!='undefined') {
httphandler = new XMLHttpRequest();
}
return httphandler;
}
function updatepc(){
var XMLHTTPObject = createHTTPHandler();
XMLHTTPObject.open('GET', 'controleerpostcode.php?pc='+document.profiel.postcode.value, true);
XMLHTTPObject.setRequestHeader("Cache-Control", "no-cache");
XMLHTTPObject.setRequestHeader("X_USERAGENT", "controleerpostcode");
XMLHTTPObject.send(null);
XMLHTTPObject.onreadystatechange=function() {
if (XMLHTTPObject.readyState==4) {
terug = XMLHTTPObject.responseText;
//popUp("selecteerpc.php?pc="+document.profiel.postcode.value+"",400,400);
document.getElementById('meerpostcodes').innerHTML ="<fieldset><legend>Gevonden overeenkomsten<font class='fout'> <b>(Corrigeer indien nodig!)</b></font></legend><table>"+terug+"</table></fieldset>";
stelin();
}
}
}
function stelin(){
alert(document.profiel.keuzes.value);
//document.profiel.pcinternnummer.value=document.forms['profiel'].elements['keuzes'].value;
} |
De onchange roept de functie upudatepc op welke vervolgens naar selecteerpc.php gaat, deze geeft als waarde een aantal gevonden records terug in de vorm van de rijen van een tabel:
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
| <?php
include("db_connect.php");
//Deze file dient voor het controleren van de ingevoerde postcode en toont als het nodig is de gebruiker een popup waarin hij de juiste postcode kan kiezen
//(in het geval er meermaals dezelfde pc voorkomt!)
if(isset($_SERVER['HTTP_X_USERAGENT']) && $_SERVER['HTTP_X_USERAGENT'] =='controleerpostcode')
{
$postcode = addslashes($_GET['pc']);
$query="SELECT * FROM postcodes WHERE code='".$postcode."'";
$resultaat = mysql_query($query) or die(mysq_error());
$terug="";
$aantal =0;
while($p = mysql_fetch_array($resultaat)){
$aantal++;
if($aantal ==1){
$terug.="<tr><td><input type='radio' name='keuzes' value='TEST' onclick='stelin();'></td><td>".$p['Name']."</td></tr>";
}else{
$terug.="<tr><td><input type='radio' name='keuzes' value='TEST' onclick='stelin();'></td><td>".$p['Name']."</td></tr>";
}
}
echo($terug);
}
else
{
echo("Deze pagina kan niet rechstreeks worden bekeken!");
}
?> |
Vervolgens wordt de stelin() functie opgeroepen om van de geselecteerde radiobutton de value terug te krijgen.
Er stelt zich nl een probleem, als de selecteerpc.php slechts 1 rij teruggeeft dan gaat alles goed en dan herkent hij de value, maar vanaf het moment er meer dan 1 rij wordt teruggegeven dan krijg ik als value steeds undefined terug..
Ik weet totaal niet wat er fout gaat, of wat ik fout doe, en ik hoop dat iemand me hier een beetje kan helpen.
Alvast bedankt!