Skip to content

Commit a8a45e4

Browse files
committed
fix for BlogEngine#53
Contact form js is now working again
1 parent 804c37b commit a8a45e4

File tree

2 files changed

+106
-106
lines changed

2 files changed

+106
-106
lines changed
Lines changed: 58 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,59 @@
1-
function beginSendMessage() {
2-
if (BlogEngine.$('<%=txtAttachment.ClientID %>') && BlogEngine.$('<%=txtAttachment.ClientID %>').value.length > 0)
3-
return true;
4-
5-
if (!Page_ClientValidate('contact'))
6-
return false;
7-
8-
var recaptchaResponseField = document.getElementById('recaptcha_response_field');
9-
var recaptchaResponse = recaptchaResponseField ? recaptchaResponseField.value : "";
10-
11-
var recaptchaChallengeField = document.getElementById('recaptcha_challenge_field');
12-
var recaptchaChallenge = recaptchaChallengeField ? recaptchaChallengeField.value : "";
13-
14-
var name = BlogEngine.$('<%=txtName.ClientID %>').value;
15-
var email = BlogEngine.$('<%=txtEmail.ClientID %>').value;
16-
var subject = BlogEngine.$('<%=txtSubject.ClientID %>').value;
17-
var message = BlogEngine.$('<%=txtMessage.ClientID %>').value;
18-
var sep = '-||-';
19-
var arg = name + sep + email + sep + subject + sep + message + sep + recaptchaResponse + sep + recaptchaChallenge;
20-
WebForm_DoCallback('__Page', arg, endSendMessage, 'contact', onSendError, false)
21-
22-
BlogEngine.$('<%=btnSend.ClientID %>').disabled = true;
23-
24-
return false;
25-
}
26-
27-
function endSendMessage(arg, context) {
28-
29-
if (arg == "RecaptchaIncorrect") {
30-
displayIncorrectCaptchaMessage();
31-
BlogEngine.$('<%=btnSend.ClientID %>').disabled = false;
32-
33-
if (document.getElementById('recaptcha_response_field')) {
34-
Recaptcha.reload();
35-
}
36-
}
37-
else {
38-
if (document.getElementById("spnCaptchaIncorrect")) document.getElementById("spnCaptchaIncorrect").style.display = "none";
39-
40-
BlogEngine.$('<%=btnSend.ClientID %>').disabled = false;
41-
var form = BlogEngine.$('<%=divForm.ClientID %>')
42-
var thanks = BlogEngine.$('thanks');
43-
44-
form.style.display = 'none';
45-
thanks.innerHTML = arg;
46-
}
47-
}
48-
49-
function displayIncorrectCaptchaMessage() {
50-
if (document.getElementById("spnCaptchaIncorrect")) document.getElementById("spnCaptchaIncorrect").style.display = "";
51-
}
52-
53-
function onSendError(err, context) {
54-
if (document.getElementById('recaptcha_response_field')) {
55-
Recaptcha.reload();
56-
}
57-
BlogEngine.$('<%=btnSend.ClientID %>').disabled = false;
58-
alert("Sorry, but the following occurred while attemping to send your message: " + err);
1+
function beginSendMessage() {
2+
if ($('[data-id="txtAttachment"]').length > 0 && $('[data-id="txtAttachment"]').val().length > 0)
3+
return true;
4+
5+
if (!Page_ClientValidate('contact'))
6+
return false;
7+
8+
var recaptchaResponseField = $('#recaptcha_response_field');
9+
var recaptchaResponse = recaptchaResponseField.length > 0 ? recaptchaResponseField.val() : "";
10+
11+
var recaptchaChallengeField = $('#recaptcha_challenge_field');
12+
var recaptchaChallenge = recaptchaChallengeField.length > 0 ? recaptchaChallengeField.val() : "";
13+
14+
var name = $('[data-id="txtName"]').val();
15+
var email = $('[data-id="txtEmail"]').val();
16+
var subject = $('[data-id="txtSubject"]').val();
17+
var message = $('[data-id="txtMessage"]').val();
18+
var sep = '-||-';
19+
var arg = name + sep + email + sep + subject + sep + message + sep + recaptchaResponse + sep + recaptchaChallenge;
20+
WebForm_DoCallback('__Page', arg, endSendMessage, 'contact', onSendError, false)
21+
22+
$('[data-id="btnSend"]').attr("disabled", true);
23+
24+
return false;
25+
}
26+
27+
function endSendMessage(arg, context) {
28+
29+
if (arg == "RecaptchaIncorrect") {
30+
displayIncorrectCaptchaMessage();
31+
$('[data-id="btnSend"]').attr("disabled", "");
32+
33+
if ($('#recaptcha_response_field').length > 0) {
34+
Recaptcha.reload();
35+
}
36+
}
37+
else {
38+
if ($("#spnCaptchaIncorrect")) $("#spnCaptchaIncorrect").css("display", "none");
39+
40+
$('[data-id="btnSend').attr("disabled", "");
41+
var form = $('[data-id="divForm');
42+
var thanks = $('#thanks');
43+
44+
form.css("display", "none");
45+
thanks.html(arg);
46+
}
47+
}
48+
49+
function displayIncorrectCaptchaMessage() {
50+
if ($("#spnCaptchaIncorrect")) $("#spnCaptchaIncorrect").css("display", "none");
51+
}
52+
53+
function onSendError(err, context) {
54+
if ($('#recaptcha_response_field')) {
55+
Recaptcha.reload();
56+
}
57+
$('[data-id="btnSend"]').css("display", "none");
58+
alert("Sorry, but the following occurred while attemping to send your message: " + err);
5959
}
Lines changed: 48 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,49 @@
1-
<%@ Page Language="C#" AutoEventWireup="true" Inherits="contact" ValidateRequest="false" Codebehind="contact.aspx.cs" %>
2-
<%@ Import Namespace="BlogEngine.Core" %>
3-
4-
<asp:content id="Content1" contentplaceholderid="cphBody" runat="Server">
5-
<div id="contact" class="contact-page page-global">
6-
<div id="divForm" runat="server">
7-
<h2 class="contact-page-title page-global-title"><%=Resources.labels.contact %></h2>
8-
<div class="contact-page-message"><%=BlogSettings.Instance.ContactFormMessage %></div>
9-
<div class="form-group">
10-
<label for="<%=txtName.ClientID %>"><%=Resources.labels.name %></label>
11-
<asp:TextBox runat="server" id="txtName" cssclass="field form-control" />
12-
<asp:requiredfieldvalidator runat="server" CssClass="required-field" controltovalidate="txtName" ErrorMessage="<%$Resources:labels, required %>" validationgroup="contact" />
13-
</div>
14-
<div class="form-group">
15-
<label for="<%=txtEmail.ClientID %>"><%=Resources.labels.email %></label>
16-
<asp:TextBox runat="server" id="txtEmail" cssclass="field form-control" />
17-
<asp:requiredfieldvalidator runat="server" CssClass="required-field" controltovalidate="txtEmail" ErrorMessage="<%$Resources:labels, required %>" validationgroup="contact" /> <asp:RegularExpressionValidator runat="server" CssClass="required-field" ControlToValidate="txtEmail" display="dynamic" ErrorMessage="<%$Resources:labels, enterValidEmail %>" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" validationgroup="contact" />
18-
</div>
19-
<div class="form-group">
20-
<label for="<%=txtSubject.ClientID %>"><%=Resources.labels.subject %></label>
21-
<asp:TextBox runat="server" id="txtSubject" cssclass="field form-control" />
22-
<asp:requiredfieldvalidator runat="server" CssClass="required-field" controltovalidate="txtSubject" ErrorMessage="<%$Resources:labels, required %>" validationgroup="contact" />
23-
</div>
24-
<div class="form-group">
25-
<label for="<%=txtMessage.ClientID %>"><%=Resources.labels.message %></label>
26-
<asp:TextBox runat="server" id="txtMessage" textmode="multiline" cssclass="form-control" rows="5" columns="30" />
27-
<asp:requiredfieldvalidator runat="server" CssClass="required-field" controltovalidate="txtMessage" ErrorMessage="<%$Resources:labels, required %>" display="dynamic" validationgroup="contact" />
28-
</div>
29-
<div class="form-group">
30-
<asp:placeholder runat="server" id="phAttachment">
31-
<label for="<%=txtAttachment.ClientID %>"><%=Resources.labels.attachFile %></label>
32-
<asp:FileUpload runat="server" id="txtAttachment" />
33-
</asp:placeholder>
34-
</div>
35-
<blog:RecaptchaControl runat="server" ID="recaptcha" />
36-
<asp:HiddenField runat="server" ID="hfCaptcha" />
37-
<div class="text-right btn-wrapper">
38-
<asp:button runat="server" id="btnSend" class="btn btn-primary" Text="<%$Resources:labels, send %>" OnClientClick="return beginSendMessage();" validationgroup="contact" />
39-
<asp:label runat="server" id="lblStatus" visible="false"><%=BlogSettings.Instance.ContactErrorMessage %>.</asp:label>
40-
</div>
41-
</div>
42-
<div id="thanks">
43-
<div id="divThank" runat="Server" visible="False">
44-
<div><%=BlogSettings.Instance.ContactThankMessage %></div>
45-
</div>
46-
</div>
47-
</div>
48-
<script type="text/javascript" src="<%=Utils.ApplicationRelativeWebRoot %>Scripts/contact.js"></script>
1+
<%@ Page Language="C#" AutoEventWireup="true" Inherits="contact" ValidateRequest="false" Codebehind="contact.aspx.cs" %>
2+
<%@ Import Namespace="BlogEngine.Core" %>
3+
4+
<asp:content id="Content1" contentplaceholderid="cphBody" runat="Server">
5+
<div id="contact" class="contact-page page-global">
6+
<div id="divForm" data-id="divForm" runat="server">
7+
<h2 class="contact-page-title page-global-title"><%=Resources.labels.contact %></h2>
8+
<div class="contact-page-message"><%=BlogSettings.Instance.ContactFormMessage %></div>
9+
<div class="form-group">
10+
<label for="<%=txtName.ClientID %>"><%=Resources.labels.name %></label>
11+
<asp:TextBox runat="server" id="txtName" cssclass="field form-control" data-id="txtName" />
12+
<asp:requiredfieldvalidator runat="server" CssClass="required-field" controltovalidate="txtName" ErrorMessage="<%$Resources:labels, required %>" validationgroup="contact" />
13+
</div>
14+
<div class="form-group">
15+
<label for="<%=txtEmail.ClientID %>"><%=Resources.labels.email %></label>
16+
<asp:TextBox runat="server" id="txtEmail" cssclass="field form-control" data-id="txtEmail" />
17+
<asp:requiredfieldvalidator runat="server" CssClass="required-field" controltovalidate="txtEmail" ErrorMessage="<%$Resources:labels, required %>" validationgroup="contact" /> <asp:RegularExpressionValidator runat="server" CssClass="required-field" ControlToValidate="txtEmail" display="dynamic" ErrorMessage="<%$Resources:labels, enterValidEmail %>" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" validationgroup="contact" />
18+
</div>
19+
<div class="form-group">
20+
<label for="<%=txtSubject.ClientID %>"><%=Resources.labels.subject %></label>
21+
<asp:TextBox runat="server" id="txtSubject" cssclass="field form-control" data-id="txtSubject" />
22+
<asp:requiredfieldvalidator runat="server" CssClass="required-field" controltovalidate="txtSubject" ErrorMessage="<%$Resources:labels, required %>" validationgroup="contact" />
23+
</div>
24+
<div class="form-group">
25+
<label for="<%=txtMessage.ClientID %>"><%=Resources.labels.message %></label>
26+
<asp:TextBox runat="server" id="txtMessage" textmode="multiline" cssclass="form-control" rows="5" columns="30" data-id="txtMessage"/>
27+
<asp:requiredfieldvalidator runat="server" CssClass="required-field" controltovalidate="txtMessage" ErrorMessage="<%$Resources:labels, required %>" display="dynamic" validationgroup="contact" />
28+
</div>
29+
<div class="form-group">
30+
<asp:placeholder runat="server" id="phAttachment">
31+
<label for="<%=txtAttachment.ClientID %>"><%=Resources.labels.attachFile %></label>
32+
<asp:FileUpload runat="server" id="txtAttachment" data-id="txtAttachment"/>
33+
</asp:placeholder>
34+
</div>
35+
<blog:RecaptchaControl runat="server" ID="recaptcha" />
36+
<asp:HiddenField runat="server" ID="hfCaptcha" />
37+
<div class="text-right btn-wrapper">
38+
<asp:button runat="server" id="btnSend" class="btn btn-primary" Text="<%$Resources:labels, send %>" OnClientClick="return beginSendMessage();" validationgroup="contact" data-id="btnSend" />
39+
<asp:label runat="server" id="lblStatus" visible="false"><%=BlogSettings.Instance.ContactErrorMessage %>.</asp:label>
40+
</div>
41+
</div>
42+
<div id="thanks">
43+
<div id="divThank" data-id="divThank" runat="Server" visible="False">
44+
<div><%=BlogSettings.Instance.ContactThankMessage %></div>
45+
</div>
46+
</div>
47+
</div>
48+
<script type="text/javascript" src="<%=Utils.ApplicationRelativeWebRoot %>Scripts/contact.js"></script>
4949
</asp:content>

0 commit comments

Comments
 (0)