AJAX/Dojo/RefactoredFormSubmit: ajax.js

File ajax.js, 2.1 KB (added by erob@…, 12 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