forked from teaching-the-art-of-fp/nanomaly
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathquestionaire.js
76 lines (70 loc) · 1.81 KB
/
questionaire.js
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
var getChar;
if ( jQuery.browser.msie ) {
getChar = function( evt ) {
return String.fromCharCode( evt.keyCode );
}
} else {
getChar = function( evt ) {
return String.fromCharCode( evt.charCode );
}
}
function dump( obj ) {
var msg = "";
for ( var item in obj )
msg += item + ": " + obj[ item ] + "\n";
return msg;
}
function validateNumber( event ) {
var c = getChar( event );
if ( ( '0' <= c && c <= '9' ) || c == '.' )
return true;
if ( event.keyCode == 8 )
// backspace
return true;
if ( event.keyCode == 9 )
// tab
return true;
if ( event.keyCode > 36 && event.charCode < 41 )
// arrows
return true;
return false;
}
function validateForm() {
var missing = 0;
var data = new Object();
$("input[type=text], textarea").each(function(){
if ( $(this).val() == "" && ! $(this).hasClass( "optional" ) ) {
$(this).addClass( "missing" );
missing++;
} else {
$(this).removeClass( "missing" );
data[ this.id ] = this.value;
}
});
if ( missing != 0 ) {
alert( "Please provide answers for all questions" );
return false;
}
$.ajax({
url: "survey.py",
type: "post",
dataType: "json",
data: data
})
.success( function( response ) {
if ( response.error ) {
alert( response.error );
return;
} else {
$("body").html( response.body );
window.scrollTo( 0, 0 );
}
})
.error( function( event, request, settings ) {
alert(
"Error submitting survey."
+ "\nrequest:\n" + dump( request )
+ "\nsettings:\n" + dump( settings )
);
});
}