-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfcf.form.js
More file actions
121 lines (99 loc) · 3.69 KB
/
fcf.form.js
File metadata and controls
121 lines (99 loc) · 3.69 KB
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
new JustValidate('.fcf-form-class', {
rules: {
"Name": {
"required": true,
"minLength": 1,
"maxLength": 100
},
"Email": {
"required": true,
"minLength": 1,
"maxLength": 100,
"email": true
},
"Message": {
"required": true,
"minLength": 1,
"maxLength": 3000
}
},
colorWrong: '#dc3545',
focusWrongField: true,
submitHandler: function (cform, values, ajax) {
var button_value = getButtonValue('fcf-button');
disableButton('fcf-button');
ajax({
url: cform.getAttribute('action'),
method: 'POST',
data: values,
async: true,
callback: function (response) {
var done = false;
if (response.indexOf('Fail:') == 0) {
// configration problem
showFailMessage(response);
enableButon('fcf-button', button_value);
done = true;
}
if (response.indexOf('Error:') == 0) {
// validation problem
showErrorMessage(response);
enableButon('fcf-button', button_value);
done = true;
}
if (response.indexOf('Success') == 0) {
showSuccessMessage(response);
done = true;
}
if (response.indexOf('Debug:') == 0) {
showDebugMessage(response);
enableButon('fcf-button', button_value);
done = true;
}
if (done == false) {
showErrorMessage('Error:Sorry, an unexpected error occurred. Please try later.');
enableButon('fcf-button', button_value);
}
}
});
},
});
function getButtonValue(id) {
return document.getElementById(id).innerText;
}
function disableButton(id) {
document.getElementById(id).innerText = 'Please wait...';
document.getElementById(id).disabled = true;
}
function enableButon(id, val) {
document.getElementById(id).innerText = val;
document.getElementById(id).disabled = false;
}
function showFailMessage(message) {
var display = '<strong>Unexpected errors. </strong>(form has been misconfigured)<br>';
display += message.substring(5);
document.getElementById('fcf-status').innerHTML = display;
}
function showErrorMessage(message) {
var display = '<strong>Validation problem:</strong><br>';
display += message.substring(6);
document.getElementById('fcf-status').innerHTML = display;
}
function showDebugMessage(message) {
var display = '<strong>Debug details.</strong><br>(Please remember to switch off DEBUG mode when done!)<br>';
display += message.substring(6);
document.getElementById('fcf-status').innerHTML = display;
}
// Removing this credit is NOT allowed
// Please purchase a pro license for credit removal rights
var creditcontainer = document.querySelector(".buttons");
var creditdiv = document.createElement('div');
creditcontainer.parentNode.insertAdjacentElement('afterend', creditdiv);
function showSuccessMessage(message) {
var message = '<br><br>' + message.substring(8);
var content = document.getElementById('fcf-thank-you').innerHTML;
document.getElementById('fcf-thank-you').innerHTML = content + message;
document.getElementById('fcf-status').innerHTML = '';
document.getElementById('fcf-form').style.display = 'none';
document.getElementById('fcf-thank-you').style.display = 'block';
}