AJAX/Dojo/RefactoredFormSubmit: ajax.js

File ajax.js, 2.1 KB (added by erob@…, 17 years ago)

script for handling form validation errors w/ dojo

Line 
1function myinit() {
2 // connect the event with the good handler
3 var myButton = dojo.byId("xBtn1")
4 dojo.event.connect(myButton, "onclick", "sendForm")
5}
6function sendForm() {
7 var fNode = dojo.byId('xForm')
8 var fParms = dojo.io.encodeForm(fNode)
9 var bindArgs = {
10 url: ".",
11 mimetype: 'text/plain',
12 method: "post",
13 // useCache: true,
14 // sync: true,
15 transport: "XMLHTTPTransport",
16 postContent: fParms,
17 error: function(type, error, http){
18 // Handle error here
19 alert(error.message)
20 if (http.responseText)
21 // Return the raw server response
22 // (useful when debugging)
23 document.write(http.responseText)
24 return false
25 },
26 load: function(type, data, http, kwArgs)
27 {
28 /*
29 * Handle "successful" responses here
30 **/
31 var errStr = ''
32 var errDiv = dojo.byId('errBox1')
33 if(type == 'load'){
34 try{
35 var json = eval( '(' + data + ')' )
36 }catch (e){
37 // not json
38 // alert(e)
39 if (!http.responseText){
40 document.write(data)
41 } else {
42 document.write(http.responseText)
43 }
44 return false
45 }
46 var listElement = document.createElement('ul')
47 errDiv.innerHTML = 'Testing..'
48 if (json.error != null){
49 errDiv.innerHTML = json.error
50 }else if(json.errors != null){
51 for (x in json.errors){
52 myLi = document.createElement('li')
53 myLi.innerHTML = x + ': ' + json.errors[x].toString()
54 listElement.appendChild(myLi)
55 }
56 errDiv.appendChild(listElement)
57 }
58 }}
59 };
60 var xmlhttp = dojo.io.bind(bindArgs)
61 return xmlhttp
62};
63dojo.addOnLoad(myinit);
64
Back to Top