Na het doorlezen van wat A.J.A.X. tutorials ben ik begonnen aan een login form.
Helaas wil mn postdata niet doorkomen.
De (x)HTML en Javascript code
index.html
De code in post.php
Allemaal niet zo spannend dus.. Helaas komt de data toch echt niet door.
De fout lijkt in het getFormValues gedeelte te liggen, een handmatige Querystring
komt wel goed door.
Helaas wil mn postdata niet doorkomen.
De (x)HTML en Javascript code
index.html
HTML:
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <title>Asynchronous Javascript (and XML) - POST Test</title> <script type="text/javascript"> // Creert XMLHTTP Object function createRequestObject() { var ro; var browser = navigator.appName; if(browser == "Microsoft Internet Explorer"){ ro = new ActiveXObject("Microsoft.XMLHTTP"); }else{ ro = new XMLHttpRequest(); } return ro; } var xmlhttp = createRequestObject(); // Formvalues uitlezen function getFormValues(obj) { var queryStr = ""; for (i = 0; i < obj.childNodes.length; i++) { if (obj.childNodes[i].tagName == "input") { if (obj.childNodes[i].type == "text" || obj.childNodes[i].type == "hidden" ) { queryStr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&"; } if (obj.childNodes[i].type == "checkbox") { if (obj.childNodes[i].checked) { queryStr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&"; } else { queryStr += obj.childNodes[i].name + "=&"; } } if (obj.childNodes[i].type == "radio") { if (obj.childNodes[i].checked) { queryStr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&"; } } } if (obj.childNodes[i].tagName == "select") { var sel = obj.childNodes[i]; queryStr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&"; } } queryStr = queryStr.substr(0, (queryStr.length - 1)); return queryStr; } // Afhandelen readyStates function handler() { if (xmlhttp.readyState == 4) { if ( xmlhttp.status == 200) { alert(xmlhttp.responseText); } else { alert("Connectie mislukt"); } } } // Inloggen function doLogin(frmObj) { var url = "post.php"; var data = getFormValues(frmObj); xmlhttp.onreadystatechange = handler; xmlhttp.open("POST", url, true); xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); xmlhttp.send(data); } </script> </head> <body> <form> <input type="text" name="userName" /> <br/> <input type="text" name="userPass" /> <br/> <br/> <input type="button" value="Login" onclick="doLogin(this.parentNode)" /> </form> </body> </html> |
De code in post.php
PHP:
1
2
3
4
5
6
7
| <?php echo "Login geslaagd! \n\n"; print_r($_POST); ?> |
Allemaal niet zo spannend dus.. Helaas komt de data toch echt niet door.
De fout lijkt in het getFormValues gedeelte te liggen, een handmatige Querystring
komt wel goed door.
[ Voor 11% gewijzigd door Kvn op 24-07-2006 17:01 ]