Changes for page Get in Touch About Your XWiki Project
Last modified by Alex Cotiugă on 2026/05/04 06:15
From version 13.167
edited by Alex Cotiugă
on 2026/05/02 09:09
on 2026/05/02 09:09
Change comment:
There is no comment for this version
To version 13.101
edited by Alex Cotiugă
on 2026/05/02 08:20
on 2026/05/02 08:20
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,27 +25,3 @@ 1 -{{velocity wiki="false"}} 2 -#if ($xcontext.action == 'get') 3 - #set ($message = '') 4 - #set ($now = $datetool.get('yyyyMMddHHmm')) 5 - #set ($random = $mathtool.random(100000, 999999)) 6 - #set ($uniqueName = "ContactRequest-${now}-${random}") 7 - #set ($contactRequestDoc = $xwiki.getDocument('ContactRequests.' + $uniqueName)) 8 - #set ($contactRequestObj = $contactRequestDoc.getObject('Agnease.Code.ContactForm.ContactFormClass', true)) 9 - #set ($statusCode = 200) 10 - #set ($message = "$contactRequestObj") 11 - 12 - #foreach ($parameterName in $request.parameterNames) 13 - #set ($discard = $contactRequestObj.set($parameterName.split('_0_')[1], $request.get($parameterName))) 14 - #set ($message = "$message $parameterName.split('_0_')[1] : $request.get($parameterName)") 15 - #end 16 - 17 - ##set ($statusCode = 400) 18 - ##set ($message = 'error') 19 - 20 - #set ($discard = $response.setStatus($statusCode)) 21 - #jsonResponse({'message': $message}) 22 -#end 23 -{{/velocity}} 24 - 25 25 {{velocity}} 26 26 #set ($discard = $xwiki.ssx.use('contact.WebHome')) 27 27 #set ($xobject = $doc.getObject('Agnease.Code.ContactForm.ContactFormClass')) ... ... @@ -65,22 +65,6 @@ 65 65 ##<p>Your information will only be used to respond to this request. See the Privacy Policy for details.</p> 66 66 <input id="contactSubmit" type="submit" class="btn btn-primary" value="Send my request"> 67 67 </form> 68 - {{/html}} 69 - {{html clean="false" wiki="true"}} 70 - <div class="reviewNotifications"> 71 - <div class="hidden reviewNotificationSuccess"> 72 - 73 - {{success}}reviewNotification{{/success}} 74 - 75 - </div> 76 - <div class="hidden reviewNotificationError"> 77 - 78 - {{error}}reviewNotification{{/error}} 79 - 80 - </div> 81 - </div> 82 - {{/html}} 83 - {{html clean="false"}} 84 84 </div> 85 85 <div class="col-xs-5"> 86 86 <div class="widget"> ... ... @@ -102,6 +102,20 @@ 102 102 <li>If useful, we schedule a short call to discuss scope, timeline, and estimated effort.</li> 103 103 </ol> 104 104 </div> 65 + {{/html}} 66 + {{html clean="false" wiki="true"}} 67 + <div class="reviewNotifications"> 68 + <div class="hidden reviewNotificationSuccess"> 69 + 70 + {{success}}reviewNotification{{/success}} 71 + 72 + </div> 73 + <div class="hidden reviewNotificationError"> 74 + 75 + {{error}}reviewNotification{{/error}} 76 + 77 + </div> 78 + </div> 105 105 </div> 106 106 </div> 107 107 {{/html}}
- XWiki.JavaScriptExtension[0]
-
- code
-
... ... @@ -1,5 +1,5 @@ 1 1 require(['jquery'], function ($) { 2 - var serviceURL = new XWiki.Document('WebHome', 'cont act').getURL('get');2 + var serviceURL = new XWiki.Document('WebHome', 'content').getURL('get', 'xpage=plain'); 3 3 var form = $('#contactForm'); 4 4 var submitButton = $('#contactSubmit'); 5 5 ... ... @@ -6,13 +6,29 @@ 6 6 var successBox = $('.reviewNotificationSuccess'); 7 7 var errorBox = $('.reviewNotificationError'); 8 8 9 + var nameFieldName = 'Agnease.Code.ContactForm.ContactFormClass_0_name'; 10 + var emailFieldName = 'Agnease.Code.ContactForm.ContactFormClass_0_email'; 11 + 12 + function getFormData() { 13 + var data = {}; 14 + 15 + $.each(form.serializeArray(), function (_, field) { 16 + data[field.name] = field.value; 17 + }); 18 + console.log(data) 19 + 20 + return data; 21 + } 22 + 9 9 form.on('submit', function (event) { 10 10 event.preventDefault(); 11 11 12 - var data = $.param(form.serializeArray()); 26 + //var data = getFormData(); 27 + 28 + console.log(form.serializeArray()) 13 13 14 14 submitButton.prop('disabled', true); 15 - 31 +/* 16 16 $.post({ 17 17 url: serviceURL, 18 18 data: data ... ... @@ -28,13 +28,12 @@ 28 28 form[0].reset(); 29 29 }).fail(function (xhr) { 30 30 var errorBoxContent = errorBox.find('.box div p'); 31 - errorBoxContent.text(xhr.s tatusText);47 + errorBoxContent.text(xhr.responseJSON.message); 32 32 errorBox.toggleClass('hidden'); 33 33 if (successBox.is(':visible')) { 34 34 successBox.toggleClass('hidden'); 35 35 } 36 - }).always(function () { 37 37 submitButton.prop('disabled', false); 38 - }); 53 + });*/ 39 39 }); 40 40 });