Lead #3891
Best Contact
—
Email
()
Override
Captured Pages
https://plumbguardian.uk/staff
Status: 404
Emails:
View text
https://plumbguardian.uk/our-team
Status: 404
Emails:
View text
https://plumbguardian.uk/meet-the-team
Status: 404
Emails:
View text
https://plumbguardian.uk/team
Status: 404
Emails:
View text
https://plumbguardian.uk/about
Status: 404
Emails:
View text
https://plumbguardian.uk/contact
Status: 200
Emails:
View text
‘More than just plumbers!’0800 0862643Get Quote HomeServices PLUMBING PlumbersPlumbing repairsEmergency PlumbersConcealed PlumbingWater Pressure TestingLeak Detection CENTRAL HEATING Central Heating ServicesCommercial heating servicesGas safe engineersGas fittersHeating engineersGas engineersBoiler installationsBoiler quotesBoiler RepairsPower flushing BATHROOMS Bathroom fitterBathroom installationBathroom designShower InstallationShower Repair DRAINS Blocked drains TOILETS Macerating Toilet ProblemsSaniflo problems APPLIANCES Gas appliance installationGas Safety ChecksWashing machine installation BlogsContactContact usPlease Keep in Touch with Us! Notice: JavaScript is required for this content. var formDisplay=1;var nfForms=nfForms||[];var form=[];form.id='2';form.settings={"objectType":"Form Setting","editActive":true,"title":" Quote Form","show_title":0,"allow_public_link":0,"embed_form":"","clear_complete":1,"hide_complete":1,"default_label_pos":"above","wrapper_class":"","element_class":"","key":"","add_submit":0,"currency":"","repeatable_fieldsets":"","unique_field_error":"A form with this value has already been submitted.","logged_in":0,"not_logged_in_msg":"","sub_limit_msg":"The form has reached its submission limit.","calculations":[],"formContentData":["name_1623427133236","email_1623426788349","phone_1622811668802","services_1623660222254","postcode_1639496218429","textarea_1622811695682","recaptcha_1625670168361","submit_1622811702456"],"changeEmailErrorMsg":"Please enter a valid email address!","changeDateErrorMsg":"Please enter a valid date!","confirmFieldErrorMsg":"These fields must match!","fieldNumberNumMinError":"Number Min Error","fieldNumberNumMaxError":"Number Max Error","fieldNumberIncrementBy":"Please increment by ","formErrorsCorrectErrors":"Please correct errors before submitting this form.","validateRequiredField":"This is a required field.","honeypotHoneypotError":"Honeypot Error","fieldsMarkedRequired":"Fields marked with an <span class=\"ninja-forms-req-symbol\">*<\/span> are required","drawerDisabled":false,"form_title_heading_level":"3","ninjaForms":"Ninja Forms","fieldTextareaRTEInsertLink":"Insert Link","fieldTextareaRTEInsertMedia":"Insert Media","fieldTextareaRTESelectAFile":"Select a file","formHoneypot":"If you are a human seeing this field, please leave it empty.","fileUploadOldCodeFileUploadInProgress":"File Upload in Progress.","fileUploadOldCodeFileUpload":"FILE UPLOAD","currencySymbol":"£","thousands_sep":",","decimal_point":".","siteLocale":"en_GB","dateFormat":"m\/d\/Y","startOfWeek":"1","of":"of","previousMonth":"Previous Month","nextMonth":"Next Month","months":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthsShort":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"weekdays":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"weekdaysShort":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"weekdaysMin":["Su","Mo","Tu","We","Th","Fr","Sa"],"recaptchaConsentMissing":"reCaptcha validation couldn't load.","recaptchaMissingCookie":"reCaptcha v3 validation couldn't load the cookie needed to submit the form.","recaptchaConsentEvent":"Accept reCaptcha cookies before sending the form.","currency_symbol":"","beforeForm":"","beforeFields":"","afterFields":"","afterForm":""};form.fields=[{"objectType":"Field","objectDomain":"fields","editActive":false,"order":1,"idAttribute":"id","type":"firstname","label":"Name","key":"name_1623427133236","label_pos":"above","required":1,"default":"","placeholder":"","container_class":"","element_class":"","admin_label":"","help_text":"","custom_name_attribute":"fname","personally_identifiable":1,"value":"","drawerDisabled":false,"id":5,"beforeField":"","afterField":"","parentType":"firstname","element_templates":["firstname","input"],"old_classname":"","wrap_template":"wrap"},{"objectType":"Field","objectDomain":"fields","editActive":false,"order":2,"idAttribute":"id","type":"email","label":"Email","key":"email_1623426788349","label_pos":"above","required":1,"default":"","placeholder":"","container_class":"","element_class":"","admin_label":"","help_text":"","custom_name_attribute":"email","personally_identifiable":1,"value":"","drawerDisabled":false,"id":11,"beforeField":"","afterField":"","parentType":"email","element_templates":["email","input"],"old_classname":"","wrap_template":"wrap"},{"objectType":"Field","objectDomain":"fields","editActive":false,"order":3,"idAttribute":"id","type":"phone","label":"Phone","key":"phone_1622811668802","label_pos":"above","required":1,"default":"","placeholder":"","container_class":"","element_class":"","input_limit":"","input_limit_type":"characters","input_limit_msg":"Character(s) left","manual_key":false,"admin_label":"","help_text":"","mask":"","custom_mask":"","custom_name_attribute":"phone","personally_identifiable":1,"value":"","id":7,"beforeField":"","afterField":"","parentType":"textbox","element_templates":["tel","textbox","input"],"old_classname":"","wrap_template":"wrap"},{"objectType":"Field","objectDomain":"fields","editActive":false,"order":4,"idAttribute":"id","type":"listselect","label":"Services","key":"services_1623660222254","label_pos":"above","required":false,"options":[{"errors":[],"max_options":0,"label":"","value":"","calc":"","selected":1,"order":0,"settingModel":{"settings":false,"hide_merge_tags":false,"error":false,"name":"options","type":"option-repeater","label":"Options <a href=\"#\" class=\"nf-add-new\">Add New<\/a> <a href=\"#\" class=\"extra nf-open-import-tooltip\"><i class=\"fa fa-sign-in\" aria-hidden=\"true\"><\/i> Import<\/a>","width":"full","group":"","value":[{"label":"One","value":"one","calc":"","selected":0,"order":0},{"label":"Two","value":"two","calc":"","selected":0,"order":1},{"label":"Three","value":"three","calc":"","selected":0,"order":2}],"columns":{"label":{"header":"Label","default":""},"value":{"header":"Value","default":""},"calc":{"header":"Calc Value","default":""},"selected":{"header":"<span class=\"dashicons dashicons-yes\"><\/span>","default":0}}}},{"errors":[],"max_options":0,"label":"PLUMBING","value":"plumbing","calc":"","settingModel":{"settings":false,"hide_merge_tags":false,"error":false,"name":"options","type":"option-repeater","label":"Options <a href=\"#\" class=\"nf-add-new\">Add New<\/a> <a href=\"#\" class=\"extra nf-open-import-tooltip\"><i class=\"fa fa-sign-in\" aria-hidden=\"true\"><\/i> Import<\/a>","width":"full","group":"","value":[{"label":"One","value":"one","calc":"","selected":0,"order":0},{"label":"Two","value":"two","calc":"","selected":0,"order":1},{"label":"Three","value":"three","calc":"","selected":0,"order":2}],"columns":{"label":{"header":"Label","default":""},"value":{"header":"Value","default":""},"calc":{"header":"Calc Value","default":""},"selected":{"header":"<span class=\"dashicons dashicons-yes\"><\/span>","default":0}}},"selected":1},{"errors":[],"max_options":0,"order":2,"new":false,"options":[],"label":"CENTRAL HEATING","value":"central-heating","calc":"","selected":1,"settingModel":{"settings":false,"hide_merge_tags":false,"error":false,"name":"options","type":"option-repeater","label":"Options <a href=\"#\" class=\"nf-add-new\">Add New<\/a> <a href=\"#\" class=\"extra nf-open-import-tooltip\"><i class=\"fa fa-sign-in\" aria-hidden=\"true\"><\/i> Import<\/a>","width":"full","group":"","value":[{"label":"One","value":"one","calc":"","selected":0,"order":0},{"label":"Two","value":"two","calc":"","selected":0,"order":1},{"label":"Three","value":"three","calc":"","selected":0,"order":2}],"columns":{"label":{"header":"Label","default":""},"value":{"header":"Value","default":""},"calc":{"header":"Calc Value","default":""},"selected":{"header":"<span class=\"dashicons dashicons-yes\"><\/span>","default":0}}}},{"errors":[],"max_options":0,"order":3,"new":false,"options":[],"label":"BATHROOMS","value":"bathrooms","calc":"","selected":1,"settingModel":{"settings":false,"hide_merge_tags":false,"error":false,"name":"options","type":"option-repeater","label":"Options <a href=\"#\" class=\"nf-add-new\">Add New<\/a> <a href=\"#\" class=\"extra nf-open-import-tooltip\"><i class=\"fa fa-sign-in\" aria-hidden=\"true\"><\/i> Import<\/a>","width":"full","group":"","value":[{"label":"One","value":"one","calc":"","selected":0,"order":0},{"label":"Two","value":"two","calc":"","selected":0,"order":1},{"label":"Three","value":"three","calc":"","selected":0,"order":2}],"columns":{"label":{"header":"Label","default":""},"value":{"header":"Value","default":""},"calc":{"header":"Calc Value","default":""},"selected":{"header":"<span class=\"dashicons dashicons-yes\"><\/span>","default":0}}}},{"errors":[],"max_options":0,"order":4,"new":false,"options":[],"label":"DRAINS","value":"drains","calc":"","selected":1,"settingModel":{"settings":false,"hide_merge_tags":false,"error":false,"name":"options","type":"option-repeater","label":"Options <a href=\"#\" class=\"nf-add-new\">Add New<\/a> <a href=\"#\" class=\"extra nf-open-import-tooltip\"><i class=\"fa fa-sign-in\" aria-hidden=\"true\"><\/i> Import<\/a>","width":"full","group":"","value":[{"label":"One","value":"one","calc":"","selected":0,"order":0},{"label":"Two","value":"two","calc":"","selected":0,"order":1},{"label":"Three","value":"three","calc":"","selected":0,"order":2}],"columns":{"label":{"header":"Label","default":""},"value":{"header":"Value","default":""},"calc":{"header":"Calc Value","default":""},"selected":{"header":"<span class=\"dashicons dashicons-yes\"><\/span>","default":0}}}},{"errors":[],"max_options":0,"order":5,"new":false,"options":[],"label":"TOILETS","value":"toilets","calc":"","selected":1,"settingModel":{"settings":false,"hide_merge_tags":false,"error":false,"name":"options","type":"option-repeater","label":"Options <a href=\"#\" class=\"nf-add-new\">Add New<\/a> <a href=\"#\" class=\"extra nf-open-import-tooltip\"><i class=\"fa fa-sign-in\" aria-hidden=\"true\"><\/i> Import<\/a>","width":"full","group":"","value":[{"label":"One","value":"one","calc":"","selected":0,"order":0},{"label":"Two","value":"two","calc":"","selected":0,"order":1},{"label":"Three","value":"three","calc":"","selected":0,"order":2}],"columns":{"label":{"header":"Label","default":""},"value":{"header":"Value","default":""},"calc":{"header":"Calc Value","default":""},"selected":{"header":"<span class=\"dashicons dashicons-yes\"><\/span>","default":0}}}},{"errors":[],"max_options":0,"order":6,"new":false,"options":[],"label":"APPLIANCES","value":"appliances","calc":"","selected":1,"settingModel":{"settings":false,"hide_merge_tags":false,"error":false,"name":"options","type":"option-repeater","label":"Options <a href=\"#\" class=\"nf-add-new\">Add New<\/a> <a href=\"#\" class=\"extra nf-open-import-tooltip\"><i class=\"fa fa-sign-in\" aria-hidden=\"true\"><\/i> Import<\/a>","width":"full","group":"","value":[{"label":"One","value":"one","calc":"","selected":0,"order":0},{"label":"Two","value":"two","calc":"","selected":0,"order":1},{"label":"Three","value":"three","calc":"","selected":0,"order":2}],"columns":{"label":{"header":"Label","default":""},"value":{"header":"Value","default":""},"calc":{"header":"Calc Value","default":""},"selected":{"header":"<span class=\"dashicons dashicons-yes\"><\/span>","default":0}}}}],"container_class":"","element_class":"","admin_label":"","help_text":"","drawerDisabled":false,"desc_text":"<p><br><\/p>","id":8,"beforeField":"","afterField":"","value":"","parentType":"list","element_templates":["listselect","input"],"old_classname":"list-select","wrap_template":"wrap"},{"objectType":"Field","objectDomain":"fields","editActive":false,"order":5,"idAttribute":"id","type":"zip","label":"Postcode","key":"postcode_1639496218429","label_pos":"above","required":1,"default":"","placeholder":"","container_class":"","element_class":"","input_limit":"","input_limit_type":"characters","input_limit_msg":"Character(s) left","manual_key":false,"admin_label":"","help_text":"","mask":"","custom_mask":"","custom_name_attribute":"zip","personally_identifiable":"","value":"","drawerDisabled":false,"id":17,"beforeField":"","afterField":"","parentType":"zip","element_templates":["zip","textbox","input","textbox","input"],"old_classname":"","wrap_template":"wrap"},{"objectType":"Field","objectDomain":"fields","editActive":false,"order":6,"idAttribute":"id","type":"textarea","label":"Paragraph Text","key":"textarea_1622811695682","label_pos":"above","required":1,"default":"","placeholder":"","container_class":"","element_class":"","input_limit":"","input_limit_type":"characters","input_limit_msg":"Character(s) left","manual_key":false,"admin_label":"","help_text":"","textarea_rte":"","disable_rte_mobile":"","textarea_media":"","value":"","drawerDisabled":false,"id":9,"beforeField":"","afterField":"","parentType":"textarea","element_templates":["textarea","input"],"old_classname":"","wrap_template":"wrap"},{"objectType":"Field","objectDomain":"fields","editActive":false,"order":7,"idAttribute":"id","type":"recaptcha","label":"","container_class":"","element_class":"","size":"visible","key":"recaptcha_1625670168361","drawerDisabled":false,"id":15,"beforeField":"","afterField":"","value":"","label_pos":"above","parentType":"textbox","element_templates":["recaptcha","input"],"old_classname":"","wrap_template":"wrap","site_key":"6Lclu24bAAAAAE87XdvFZprOLkr6a9jwJcRTaHHb","theme":"light","lang":"en-GB"},{"objectType":"Field","objectDomain":"fields","editActive":false,"order":8,"idAttribute":"id","type":"submit","label":"Submit","processing_label":"Processing","container_class":"","element_class":"","key":"submit_1622811702456","admin_label":"","id":10,"beforeField":"","afterField":"","value":"","label_pos":"above","parentType":"textbox","element_templates":["submit","button","input"],"old_classname":"","wrap_template":"wrap-no-label"}];nfForms.push(form); Quick LinksHomeBlogsContactSitemapServicesPLUMBINGPlumbersPlumbing repairsEmergency PlumbersConcealed plumbingWater pressure testingLeak detectionCENTRAL HEATINGCentral heating servicesCommercial heating servicesGas safe engineersGas fittersHeating engineersGas engineersBoiler installationsBoiler quotesBoiler RepairsPower flushingBATHROOMSBathroom fitterBathroom installationBathroom designShower installationShower repairDRAINSBlocked drainsTOILETSMacerating toilet problemsSaniflo problemsAPPLIANCESGas appliance installationGas Safety ChecksWashing machine installationCopyright © 2025 Plumb GuardianStay up to date {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/twentytwentyone/*","/wp-content/themes/oxygen-is-not-a-theme/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.Cookie SettingsAccept AllManage consent Close Privacy Overview This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience. Necessary Necessary Always Enabled Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously. CookieDurationDescriptioncookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. Functional Functional Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features. Performance Performance Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors. Analytics Analytics Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc. Advertisement Advertisement Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads. Others Others Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet. SAVE & ACCEPT .ct-FontAwesomeicon-headphones{width:0.92857142857143em} .ct-FontAwesomeicon-twitter-square{width:0.85714285714286em} .ct-FontAwesomeicon-facebook-square{width:0.85714285714286em} .ct-FontAwesomeicon-arrow-circle-right{width:0.85714285714286em} .ct-FontAwesomeicon-pinterest{width:0.85714285714286em} .ct-FontAwesomeicon-angle-double-up{width:0.64285714285714em} .ct-FontAwesomeicon-youtube-square{width:0.85714285714286em} headphonestwitter-squarefacebook-squarearrow-circle-rightpinterestangle-double-upyoutube-square /* <![CDATA[ */ var nfi18n = {"ninjaForms":"Ninja Forms","changeEmailErrorMsg":"Please enter a valid email address!","changeDateErrorMsg":"Please enter a valid date!","confirmFieldErrorMsg":"These fields must match!","fieldNumberNumMinError":"Number Min Error","fieldNumberNumMaxError":"Number Max Error","fieldNumberIncrementBy":"Please increment by ","fieldTextareaRTEInsertLink":"Insert Link","fieldTextareaRTEInsertMedia":"Insert Media","fieldTextareaRTESelectAFile":"Select a file","formErrorsCorrectErrors":"Please correct errors before submitting this form.","formHoneypot":"If you are a human seeing this field, please leave it empty.","validateRequiredField":"This is a required field.","honeypotHoneypotError":"Honeypot Error","fileUploadOldCodeFileUploadInProgress":"File Upload in Progress.","fileUploadOldCodeFileUpload":"FILE UPLOAD","currencySymbol":"\u00a3","fieldsMarkedRequired":"Fields marked with an \u003Cspan class=\"ninja-forms-req-symbol\"\u003E*\u003C/span\u003E are required","thousands_sep":",","decimal_point":".","siteLocale":"en_GB","dateFormat":"m/d/Y","startOfWeek":"1","of":"of","previousMonth":"Previous Month","nextMonth":"Next Month","months":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthsShort":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"weekdays":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"weekdaysShort":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"weekdaysMin":["Su","Mo","Tu","We","Th","Fr","Sa"],"recaptchaConsentMissing":"reCaptcha validation couldn't load.","recaptchaMissingCookie":"reCaptcha v3 validation couldn't load the cookie needed to submit the form.","recaptchaConsentEvent":"Accept reCaptcha cookies before sending the form."}; var nfFrontEnd = {"adminAjax":"https://plumbguardian.uk/wp-admin/admin-ajax.php","ajaxNonce":"7a1d0ee76c","requireBaseUrl":"https://plumbguardian.uk/wp-content/plugins/ninja-forms/assets/js/","use_merge_tags":{"user":{"address":"address","textbox":"textbox","button":"button","checkbox":"checkbox","city":"city","confirm":"confirm","date":"date","email":"email","firstname":"firstname","html":"html","hcaptcha":"hcaptcha","hidden":"hidden","lastname":"lastname","listcheckbox":"listcheckbox","listcountry":"listcountry","listimage":"listimage","listmultiselect":"listmultiselect","listradio":"listradio","listselect":"listselect","liststate":"liststate","note":"note","number":"number","password":"password","passwordconfirm":"passwordconfirm","product":"product","quantity":"quantity","recaptcha":"recaptcha","recaptcha_v3":"recaptcha_v3","repeater":"repeater","shipping":"shipping","signature":"signature","spam":"spam","starrating":"starrating","submit":"submit","terms":"terms","textarea":"textarea","total":"total","turnstile":"turnstile","unknown":"unknown","zip":"zip","hr":"hr"},"post":{"address":"address","textbox":"textbox","button":"button","checkbox":"checkbox","city":"city","confirm":"confirm","date":"date","email":"email","firstname":"firstname","html":"html","hcaptcha":"hcaptcha","hidden":"hidden","lastname":"lastname","listcheckbox":"listcheckbox","listcountry":"listcountry","listimage":"listimage","listmultiselect":"listmultiselect","listradio":"listradio","listselect":"listselect","liststate":"liststate","note":"note","number":"number","password":"password","passwordconfirm":"passwordconfirm","product":"product","quantity":"quantity","recaptcha":"recaptcha","recaptcha_v3":"recaptcha_v3","repeater":"repeater","shipping":"shipping","signature":"signature","spam":"spam","starrating":"starrating","submit":"submit","terms":"terms","textarea":"textarea","total":"total","turnstile":"turnstile","unknown":"unknown","zip":"zip","hr":"hr"},"system":{"address":"address","textbox":"textbox","button":"button","checkbox":"checkbox","city":"city","confirm":"confirm","date":"date","email":"email","firstname":"firstname","html":"html","hcaptcha":"hcaptcha","hidden":"hidden","lastname":"lastname","listcheckbox":"listcheckbox","listcountry":"listcountry","listimage":"listimage","listmultiselect":"listmultiselect","listradio":"listradio","listselect":"listselect","liststate":"liststate","note":"note","number":"number","password":"password","passwordconfirm":"passwordconfirm","product":"product","quantity":"quantity","recaptcha":"recaptcha","recaptcha_v3":"recaptcha_v3","repeater":"repeater","shipping":"shipping","signature":"signature","spam":"spam","starrating":"starrating","submit":"submit","terms":"terms","textarea":"textarea","total":"total","turnstile":"turnstile","unknown":"unknown","zip":"zip","hr":"hr"},"fields":{"address":"address","textbox":"textbox","button":"button","checkbox":"checkbox","city":"city","confirm":"confirm","date":"date","email":"email","firstname":"firstname","html":"html","hcaptcha":"hcaptcha","hidden":"hidden","lastname":"lastname","listcheckbox":"listcheckbox","listcountry":"listcountry","listimage":"listimage","listmultiselect":"listmultiselect","listradio":"listradio","listselect":"listselect","liststate":"liststate","note":"note","number":"number","password":"password","passwordconfirm":"passwordconfirm","product":"product","quantity":"quantity","recaptcha":"recaptcha","recaptcha_v3":"recaptcha_v3","repeater":"repeater","shipping":"shipping","signature":"signature","spam":"spam","starrating":"starrating","submit":"submit","terms":"terms","textarea":"textarea","total":"total","turnstile":"turnstile","unknown":"unknown","zip":"zip","hr":"hr"},"calculations":{"html":"html","hidden":"hidden","note":"note","unknown":"unknown"}},"opinionated_styles":"light","filter_esc_status":"false","nf_consent_status_response":[]}; var nfInlineVars = []; //# sourceURL=nf-front-end-js-extra /* ]]> */ (function ($) { // Select all links with hashes $('a[href*="#"]') // Remove links that don't actually link to anything .not('[href="#"]') .not('[href="#0"]') .click(function (event) { // On-page links if ( location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname ) { // Figure out element to scroll to var target = $(this.hash); target = target.length ? target : $('[name=' + this.hash.slice(1) + ']'); // Does a scroll target exist? if (target.length) { // Only prevent default if animation is actually gonna happen event.preventDefault(); $('html, body').animate({ scrollTop: target.offset().top }, 1000, function () { // Callback after animation // Must change focus! var $target = $(target); $target.focus(); if ($target.is(":focus")) { // Checking if the target was focused return false; } else { $target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable $target.focus(); // Set focus again }; }); } } }); // Back to Top - by CodyHouse.co var backTop = document.getElementsByClassName('js-cd-top')[0], // browser window scroll (in pixels) after which the "back to top" link is shown offset = 300, //browser window scroll (in pixels) after which the "back to top" link opacity is reduced offsetOpacity = 1200, scrollDuration = 700 scrolling = false; if (backTop) { //update back to top visibility on scrolling window.addEventListener("scroll", function (event) { if (!scrolling) { scrolling = true; (!window.requestAnimationFrame) ? setTimeout(checkBackToTop, 250) : window.requestAnimationFrame(checkBackToTop); } }); //smooth scroll to top backTop.addEventListener('click', function (event) { event.preventDefault(); (!window.requestAnimationFrame) ? window.scrollTo(0, 0) : scrollTop(scrollDuration); }); } function checkBackToTop() { var windowTop = window.scrollY || document.documentElement.scrollTop; (windowTop > offset) ? addClass(backTop, 'cd-top--show') : removeClass(backTop, 'cd-top--show', 'cd-top--fade-out'); (windowTop > offsetOpacity) && addClass(backTop, 'cd-top--fade-out'); scrolling = false; } function scrollTop(duration) { var start = window.scrollY || document.documentElement.scrollTop, currentTime = null; var animateScroll = function (timestamp) { if (!currentTime) currentTime = timestamp; var progress = timestamp - currentTime; var val = Math.max(Math.easeInOutQuad(progress, start, -start, duration), 0); window.scrollTo(0, val); if (progress < duration) { window.requestAnimation } }; window.requestAnimationFrame(animateScroll); } Math.easeInOutQuad = function (t, b, c, d) { t /= d / 2; if (t < 1) return c / 2 * t * t + b; t--; return -c / 2 * (t * (t - 2) - 1) + b; }; //class manipulations - needed if classList is not supported function hasClass(el, className) { if (el.classList) return el.classList.contains(className); else return !!el.className.match(new RegExp('(\\s|^)' + className + '(\\s|$)')); } function addClass(el, className) { var classList = className.split(' '); if (el.classList) el.classList.add(classList[0]); else if (!hasClass(el, classList[0])) el.className += " " + classList[0]; if (classList.length > 1) addClass(el, classList.slice(1).join(' ')); } function removeClass(el, className) { var classList = className.split(' '); if (el.classList) el.classList.remove(classList[0]); else if (hasClass(el, classList[0])) { var reg = new RegExp('(\\s|^)' + classList[0] + '(\\s|$)'); el.className = el.className.replace(reg, ' '); } if (classList.length > 1) removeClass(el, classList.slice(1).join(' ')); } })(jQuery); //** Oxygen Composite Elements Settings Section **// //** Edit the variables below to change the behavior of the element. **// var scrollDistance = 300; // Set this to the scroll distance at which you want the button to appear. //** That's it, stop editing! **/ jQuery(document).ready( function() { // If we're in the builder, do not execute. var url_string = window.location.href; var url = new URL(url_string); var param = url.searchParams.get("ct_builder"); if( param ) { return; } jQuery('.oxel_back_to_top_container').addClass('oxel_back_to_top_container--hidden'); }) jQuery(window).on('scroll', function() { var topPos = jQuery(window).scrollTop(); if( topPos > scrollDistance ) { jQuery('.oxel_back_to_top_container').removeClass('oxel_back_to_top_container--hidden'); } else { jQuery('.oxel_back_to_top_container').addClass('oxel_back_to_top_container--hidden'); } }) .oxel_back_to_top_container--hidden { bottom: -64px; } <span id="nf-form-title-{{{ data.id }}}" class="nf-form-title"> {{{ ( 1 == data.settings.show_title ) ? '<h' + data.settings.form_title_heading_level + '>' + data.settings.title + '</h' + data.settings.form_title_heading_level + '>' : '' }}} </span> <div class="nf-form-wrap ninja-forms-form-wrap"> <div class="nf-response-msg"></div> <div class="nf-debug-msg"></div> <div class="nf-before-form"></div> <div class="nf-form-layout"></div> <div class="nf-after-form"></div> </div> {{{ data.beforeForm }}} {{{ data.afterForm }}} <div class="nf-form-fields-required">{{{ data.renderFieldsMarkedRequired() }}}</div> {{{ data.beforeFields }}} {{{ data.afterFields }}} <div id="nf-form-errors-{{{ data.id }}}" class="nf-form-errors" role="alert"></div> <div class="nf-form-hp"></div> {{{ data.beforeField }}} {{{ data.afterField }}} <form> <div> <div class="nf-before-form-content"></div> <div class="nf-form-content {{{ data.element_class }}}"></div> <div class="nf-after-form-content"></div> </div> </form> <label id="nf-label-field-hp-{{{ data.id }}}" for="nf-field-hp-{{{ data.id }}}" aria-hidden="true"> {{{ nfi18n.formHoneypot }}} <input id="nf-field-hp-{{{ data.id }}}" name="nf-field-hp" class="nf-element nf-field-hp" type="text" value="" aria-labelledby="nf-label-field-hp-{{{ data.id }}}" /> </label> <div id="nf-field-{{{ data.id }}}-container" class="nf-field-container {{{ data.type }}}-container {{{ data.renderContainerClass() }}}"> <div class="nf-before-field"></div> <div class="nf-field"></div> <div class="nf-after-field"></div> </div> {{{ data.beforeField }}} <# /* * Render our input limit section if that setting exists. */ #> <div class="nf-input-limit"></div> <# /* * Render our error section if we have an error. */ #> <div id="nf-error-{{{ data.id }}}" class="nf-error-wrap nf-error" role="alert" aria-live="assertive"></div> <# /* * Render any custom HTML after our field. */ #> {{{ data.afterField }}} <div id="nf-field-{{{ data.id }}}-wrap" class="{{{ data.renderWrapClass() }}}" data-field-id="{{{ data.id }}}"> <# /* * This is our main field template. It's called for every field type. * Note that must have ONE top-level, wrapping element. i.e. a div/span/etc that wraps all of the template. */ #> <# /* * Render our label. */ #> {{{ data.renderLabel() }}} <# /* * Render our field element. Uses the template for the field being rendered. */ #> <div class="nf-field-element">{{{ data.renderElement() }}}</div> <# /* * Render our Description Text. */ #> {{{ data.renderDescText() }}} </div> <div id="nf-field-{{{ data.id }}}-wrap" class="{{{ data.renderWrapClass() }}}" data-field-id="{{{ data.id }}}"> <div class="nf-field-label"></div> <div class="nf-field-element">{{{ data.renderElement() }}}</div> <div class="nf-error-wrap"></div> </div> {{{ data.renderElement() }}} <div class="nf-error-wrap"></div> <div class="nf-field-label"> <# if ( data.type === "listcheckbox" || data.type === "listradio" || data.type === "listimage" || data.type === "date" || data.type === "starrating" || data.type === "signature" || data.type === "html" || data.type === "hr" ) { #> <span id="nf-label-field-{{{ data.id }}}" class="nf-label-span {{{ data.renderLabelClasses() }}}"> {{{ ( data.maybeFilterHTML() === 'true' ) ? _.escape( data.label ) : data.label }}} {{{ ( 'undefined' != typeof data.required && 1 == data.required ) ? '<span class="ninja-forms-req-symbol">*</span>' : '' }}} {{{ data.maybeRenderHelp() }}} </span> <# } else { #> <label for="nf-field-{{{ data.id }}}" id="nf-label-field-{{{ data.id }}}" class="{{{ data.renderLabelClasses() }}}"> {{{ ( data.maybeFilterHTML() === 'true' ) ? _.escape( data.label ) : data.label }}} {{{ ( 'undefined' != typeof data.required && 1 == data.required ) ? '<span class="ninja-forms-req-symbol">*</span>' : '' }}} {{{ data.maybeRenderHelp() }}} </label> <# } #> </div> <div class="nf-error-msg nf-error-{{{ data.id }}}" aria-live="assertive">{{{ data.msg }}}</div> <div class="nf-error-msg nf-error-{{{ data.id }}}">{{{ data.msg }}}</div> {{{ data.currentCount() }}} {{{ nfi18n.of }}} {{{ data.input_limit }}} {{{ data.input_limit_msg }}} <input type="text" value="{{{ _.escape( data.value ) }}}" class="{{{ data.renderClasses() }}} nf-element" id="nf-field-{{{ data.id }}}" name="{{ data.custom_name_attribute || 'nf-field-' + data.id + '-' + data.type }}" {{{ data.maybeDisableAutocomplete() }}} {{{ data.renderPlaceholder() }}} aria-invalid="false" aria-describedby="<# if( data.desc_text ) { #>nf-description-{{{ data.id }}} <# } #>nf-error-{{{ data.id }}}" aria-labelledby="nf-label-field-{{{ data.id }}}" {{{ data.maybeRequired() }}} > <input id="nf-field-{{{ data.id }}}" name="nf-field-{{{ data.id }}}" aria-invalid="false" aria-describedby="<# if( data.desc_text ) { #>nf-description-{{{ data.id }}} <# } #>nf-error-{{{ data.id }}}" class="{{{ data.renderClasses() }}} nf-element" type="text" value="{{{ _.escape( data.value ) }}}" {{{ data.renderPlaceholder() }}} {{{ data.maybeDisabled() }}} aria-labelledby="nf-label-field-{{{ data.id }}}" {{{ data.maybeRequired() }}} > <input type="email" value="{{{ _.escape( data.value ) }}}" class="{{{ data.renderClasses() }}} nf-element" id="nf-field-{{{ data.id }}}" name="{{ data.custom_name_attribute || 'nf-field-' + data.id + '-' + data.type }}" {{{data.maybeDisableAutocomplete()}}} {{{ data.renderPlaceholder() }}} {{{ data.maybeDisabled() }}} aria-invalid="false" aria-describedby="<# if( data.desc_text ) { #>nf-description-{{{ data.id }}} <# } #>nf-error-{{{ data.id }}}" aria-labelledby="nf-label-field-{{{ data.id }}}" {{{ data.maybeRequired() }}} > <input type="tel" value="{{{ _.escape( data.value ) }}}" class="{{{ data.renderClasses() }}} nf-element" {{{ data.maybeDisabled() }}} id="nf-field-{{{ data.id }}}" name="{{ data.custom_name_attribute || 'nf-field-' + data.id + '-' + data.type }}" {{{ data.maybeDisableAutocomplete() }}} {{{ data.renderPlaceholder() }}} aria-invalid="false" aria-describedby="<# if( data.desc_text ) { #>nf-description-{{{ data.id }}} <# } #>nf-error-{{{ data.id }}}" aria-labelledby="nf-label-field-{{{ data.id }}}" {{{ data.maybeRequired() }}} > <input type="text" value="{{{ _.escape( data.value ) }}}" class="{{{ data.renderClasses() }}} nf-element" {{{ data.renderPlaceholder() }}} {{{ data.maybeDisabled() }}} {{{ data.maybeInputLimit() }}} id="nf-field-{{{ data.id }}}" name="{{ data.custom_name_attribute || 'nf-field-' + data.id + '-' + data.type }}" {{{ data.maybeDisableAutocomplete() }}} aria-invalid="false" aria-describedby="<# if( data.desc_text ) { #>nf-description-{{{ data.id }}} <# } #>nf-error-{{{ data.id }}}" aria-labelledby="nf-label-field-{{{ data.id }}}" {{{ data.maybeRequired() }}} > <select id="nf-field-{{{ data.id }}}" name="nf-field-{{{ data.id }}}" aria-invalid="false" aria-describedby="<# if( data.desc_text ) { #>nf-description-{{{ data.id }}} <# } #>nf-error-{{{ data.id }}}" class="{{{ data.renderClasses() }}} nf-element" {{{ data.renderOtherAttributes() }}} aria-labelledby="nf-label-field-{{{ data.id }}}" {{{ data.maybeRequired() }}} > {{{ data.renderOptions() }}} </select> <div for="nf-field-{{{ data.id }}}"></div> <# if ( ! data.visible ) { return ''; } #> <option value="{{{ data.value }}}" {{{ ( 1 == data.selected ) ? 'selected="selected"' : '' }}} >{{{ data.label }}}</option> <input type="text" value="{{{ _.escape( data.value ) }}}" class="{{{ data.renderClasses() }}} nf-element" id="nf-field-{{{ data.id }}}" name="{{ data.custom_name_attribute || 'nf-field-' + data.id + '-' + data.type }}" {{{ data.maybeDisableAutocomplete() }}} {{{ data.renderPlaceholder() }}} {{{ data.maybeDisabled() }}} aria-invalid="false" aria-describedby="<# if( data.desc_text ) { #>nf-description-{{{ data.id }}} <# } #>nf-error-{{{ data.id }}}" aria-labelledby="nf-label-field-{{{ data.id }}}" {{{ data.maybeRequired() }}} > <textarea id="nf-field-{{{ data.id }}}" name="nf-field-{{{ data.id }}}" aria-invalid="false" aria-describedby="<# if( data.desc_text ) { #>nf-description-{{{ data.id }}} <# } #>nf-error-{{{ data.id }}}" class="{{{ data.renderClasses() }}} nf-element" {{{ data.renderPlaceholder() }}} {{{ data.maybeDisabled() }}} {{{ data.maybeDisableAutocomplete() }}} {{{ data.maybeInputLimit() }}} aria-labelledby="nf-label-field-{{{ data.id }}}" {{{ data.maybeRequired() }}} >{{{ _.escape( data.value ) }}}</textarea> <span class="dashicons dashicons-admin-media"></span> <span class="dashicons dashicons-admin-links"></span> <span class="dashicons dashicons-editor-unlink"></span> <div class="summernote-link"> URL <input type="url" class="widefat code link-url"> <br /> Text <input type="url" class="widefat code link-text"> <br /> <label> <input type="checkbox" class="link-new-window"> {{{ nfi18n.fieldsTextareaOpenNewWindow }}} </label> <input type="button" class="cancel-link extra" value="Cancel"> <input type="button" class="insert-link extra" value="Insert"> </div> <input id="nf-field-{{{ data.id }}}" name="nf-field-{{{ data.id }}}" class="{{{ data.renderClasses() }}} nf-element" type="hidden" value="{{{ data.value }}}" /> <div class="g-recaptcha" data-callback="nf_recaptcha_response_{{{ data.id }}}" data-theme="{{{ data.theme }}}" data-sitekey="{{{ data.site_key }}}" data-fieldid="{{{ data.id }}}" {{{ ( "invisible" == data.size ) ? 'data-size="invisible"' : '' }}}></div> <# let myType = data.type if('save'== data.type){ myType = 'button' } #> <input id="nf-field-{{{ data.id }}}" class="{{{ data.renderClasses() }}} nf-element " type="{{{myType}}}" value="{{{ ( data.maybeFilterHTML() === 'true' ) ? _.escape( data.label ) : data.label }}}" {{{ ( data.disabled ) ? 'aria-disabled="true" disabled="true"' : '' }}}> <button id="nf-field-{{{ data.id }}}" name="nf-field-{{{ data.id }}}" class="{{{ data.classes }}} nf-element"> {{{ ( data.maybeFilterHTML() === 'true' ) ? _.escape( data.label ) : data.label }}} </button>
https://plumbguardian.uk/contact
Status: 200
Emails:
View text
‘More than just plumbers!’0800 0862643Get Quote HomeServices PLUMBING PlumbersPlumbing repairsEmergency PlumbersConcealed PlumbingWater Pressure TestingLeak Detection CENTRAL HEATING Central Heating ServicesCommercial heating servicesGas safe engineersGas fittersHeating engineersGas engineersBoiler installationsBoiler quotesBoiler RepairsPower flushing BATHROOMS Bathroom fitterBathroom installationBathroom designShower InstallationShower Repair DRAINS Blocked drains TOILETS Macerating Toilet ProblemsSaniflo problems APPLIANCES Gas appliance installationGas Safety ChecksWashing machine installation BlogsContactContact usPlease Keep in Touch with Us! Notice: JavaScript is required for this content. var formDisplay=1;var nfForms=nfForms||[];var form=[];form.id='2';form.settings={"objectType":"Form Setting","editActive":true,"title":" Quote Form","show_title":0,"allow_public_link":0,"embed_form":"","clear_complete":1,"hide_complete":1,"default_label_pos":"above","wrapper_class":"","element_class":"","key":"","add_submit":0,"currency":"","repeatable_fieldsets":"","unique_field_error":"A form with this value has already been submitted.","logged_in":0,"not_logged_in_msg":"","sub_limit_msg":"The form has reached its submission limit.","calculations":[],"formContentData":["name_1623427133236","email_1623426788349","phone_1622811668802","services_1623660222254","postcode_1639496218429","textarea_1622811695682","recaptcha_1625670168361","submit_1622811702456"],"changeEmailErrorMsg":"Please enter a valid email address!","changeDateErrorMsg":"Please enter a valid date!","confirmFieldErrorMsg":"These fields must match!","fieldNumberNumMinError":"Number Min Error","fieldNumberNumMaxError":"Number Max Error","fieldNumberIncrementBy":"Please increment by ","formErrorsCorrectErrors":"Please correct errors before submitting this form.","validateRequiredField":"This is a required field.","honeypotHoneypotError":"Honeypot Error","fieldsMarkedRequired":"Fields marked with an <span class=\"ninja-forms-req-symbol\">*<\/span> are required","drawerDisabled":false,"form_title_heading_level":"3","ninjaForms":"Ninja Forms","fieldTextareaRTEInsertLink":"Insert Link","fieldTextareaRTEInsertMedia":"Insert Media","fieldTextareaRTESelectAFile":"Select a file","formHoneypot":"If you are a human seeing this field, please leave it empty.","fileUploadOldCodeFileUploadInProgress":"File Upload in Progress.","fileUploadOldCodeFileUpload":"FILE UPLOAD","currencySymbol":"£","thousands_sep":",","decimal_point":".","siteLocale":"en_GB","dateFormat":"m\/d\/Y","startOfWeek":"1","of":"of","previousMonth":"Previous Month","nextMonth":"Next Month","months":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthsShort":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"weekdays":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"weekdaysShort":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"weekdaysMin":["Su","Mo","Tu","We","Th","Fr","Sa"],"recaptchaConsentMissing":"reCaptcha validation couldn't load.","recaptchaMissingCookie":"reCaptcha v3 validation couldn't load the cookie needed to submit the form.","recaptchaConsentEvent":"Accept reCaptcha cookies before sending the form.","currency_symbol":"","beforeForm":"","beforeFields":"","afterFields":"","afterForm":""};form.fields=[{"objectType":"Field","objectDomain":"fields","editActive":false,"order":1,"idAttribute":"id","type":"firstname","label":"Name","key":"name_1623427133236","label_pos":"above","required":1,"default":"","placeholder":"","container_class":"","element_class":"","admin_label":"","help_text":"","custom_name_attribute":"fname","personally_identifiable":1,"value":"","drawerDisabled":false,"id":5,"beforeField":"","afterField":"","parentType":"firstname","element_templates":["firstname","input"],"old_classname":"","wrap_template":"wrap"},{"objectType":"Field","objectDomain":"fields","editActive":false,"order":2,"idAttribute":"id","type":"email","label":"Email","key":"email_1623426788349","label_pos":"above","required":1,"default":"","placeholder":"","container_class":"","element_class":"","admin_label":"","help_text":"","custom_name_attribute":"email","personally_identifiable":1,"value":"","drawerDisabled":false,"id":11,"beforeField":"","afterField":"","parentType":"email","element_templates":["email","input"],"old_classname":"","wrap_template":"wrap"},{"objectType":"Field","objectDomain":"fields","editActive":false,"order":3,"idAttribute":"id","type":"phone","label":"Phone","key":"phone_1622811668802","label_pos":"above","required":1,"default":"","placeholder":"","container_class":"","element_class":"","input_limit":"","input_limit_type":"characters","input_limit_msg":"Character(s) left","manual_key":false,"admin_label":"","help_text":"","mask":"","custom_mask":"","custom_name_attribute":"phone","personally_identifiable":1,"value":"","id":7,"beforeField":"","afterField":"","parentType":"textbox","element_templates":["tel","textbox","input"],"old_classname":"","wrap_template":"wrap"},{"objectType":"Field","objectDomain":"fields","editActive":false,"order":4,"idAttribute":"id","type":"listselect","label":"Services","key":"services_1623660222254","label_pos":"above","required":false,"options":[{"errors":[],"max_options":0,"label":"","value":"","calc":"","selected":1,"order":0,"settingModel":{"settings":false,"hide_merge_tags":false,"error":false,"name":"options","type":"option-repeater","label":"Options <a href=\"#\" class=\"nf-add-new\">Add New<\/a> <a href=\"#\" class=\"extra nf-open-import-tooltip\"><i class=\"fa fa-sign-in\" aria-hidden=\"true\"><\/i> Import<\/a>","width":"full","group":"","value":[{"label":"One","value":"one","calc":"","selected":0,"order":0},{"label":"Two","value":"two","calc":"","selected":0,"order":1},{"label":"Three","value":"three","calc":"","selected":0,"order":2}],"columns":{"label":{"header":"Label","default":""},"value":{"header":"Value","default":""},"calc":{"header":"Calc Value","default":""},"selected":{"header":"<span class=\"dashicons dashicons-yes\"><\/span>","default":0}}}},{"errors":[],"max_options":0,"label":"PLUMBING","value":"plumbing","calc":"","settingModel":{"settings":false,"hide_merge_tags":false,"error":false,"name":"options","type":"option-repeater","label":"Options <a href=\"#\" class=\"nf-add-new\">Add New<\/a> <a href=\"#\" class=\"extra nf-open-import-tooltip\"><i class=\"fa fa-sign-in\" aria-hidden=\"true\"><\/i> Import<\/a>","width":"full","group":"","value":[{"label":"One","value":"one","calc":"","selected":0,"order":0},{"label":"Two","value":"two","calc":"","selected":0,"order":1},{"label":"Three","value":"three","calc":"","selected":0,"order":2}],"columns":{"label":{"header":"Label","default":""},"value":{"header":"Value","default":""},"calc":{"header":"Calc Value","default":""},"selected":{"header":"<span class=\"dashicons dashicons-yes\"><\/span>","default":0}}},"selected":1},{"errors":[],"max_options":0,"order":2,"new":false,"options":[],"label":"CENTRAL HEATING","value":"central-heating","calc":"","selected":1,"settingModel":{"settings":false,"hide_merge_tags":false,"error":false,"name":"options","type":"option-repeater","label":"Options <a href=\"#\" class=\"nf-add-new\">Add New<\/a> <a href=\"#\" class=\"extra nf-open-import-tooltip\"><i class=\"fa fa-sign-in\" aria-hidden=\"true\"><\/i> Import<\/a>","width":"full","group":"","value":[{"label":"One","value":"one","calc":"","selected":0,"order":0},{"label":"Two","value":"two","calc":"","selected":0,"order":1},{"label":"Three","value":"three","calc":"","selected":0,"order":2}],"columns":{"label":{"header":"Label","default":""},"value":{"header":"Value","default":""},"calc":{"header":"Calc Value","default":""},"selected":{"header":"<span class=\"dashicons dashicons-yes\"><\/span>","default":0}}}},{"errors":[],"max_options":0,"order":3,"new":false,"options":[],"label":"BATHROOMS","value":"bathrooms","calc":"","selected":1,"settingModel":{"settings":false,"hide_merge_tags":false,"error":false,"name":"options","type":"option-repeater","label":"Options <a href=\"#\" class=\"nf-add-new\">Add New<\/a> <a href=\"#\" class=\"extra nf-open-import-tooltip\"><i class=\"fa fa-sign-in\" aria-hidden=\"true\"><\/i> Import<\/a>","width":"full","group":"","value":[{"label":"One","value":"one","calc":"","selected":0,"order":0},{"label":"Two","value":"two","calc":"","selected":0,"order":1},{"label":"Three","value":"three","calc":"","selected":0,"order":2}],"columns":{"label":{"header":"Label","default":""},"value":{"header":"Value","default":""},"calc":{"header":"Calc Value","default":""},"selected":{"header":"<span class=\"dashicons dashicons-yes\"><\/span>","default":0}}}},{"errors":[],"max_options":0,"order":4,"new":false,"options":[],"label":"DRAINS","value":"drains","calc":"","selected":1,"settingModel":{"settings":false,"hide_merge_tags":false,"error":false,"name":"options","type":"option-repeater","label":"Options <a href=\"#\" class=\"nf-add-new\">Add New<\/a> <a href=\"#\" class=\"extra nf-open-import-tooltip\"><i class=\"fa fa-sign-in\" aria-hidden=\"true\"><\/i> Import<\/a>","width":"full","group":"","value":[{"label":"One","value":"one","calc":"","selected":0,"order":0},{"label":"Two","value":"two","calc":"","selected":0,"order":1},{"label":"Three","value":"three","calc":"","selected":0,"order":2}],"columns":{"label":{"header":"Label","default":""},"value":{"header":"Value","default":""},"calc":{"header":"Calc Value","default":""},"selected":{"header":"<span class=\"dashicons dashicons-yes\"><\/span>","default":0}}}},{"errors":[],"max_options":0,"order":5,"new":false,"options":[],"label":"TOILETS","value":"toilets","calc":"","selected":1,"settingModel":{"settings":false,"hide_merge_tags":false,"error":false,"name":"options","type":"option-repeater","label":"Options <a href=\"#\" class=\"nf-add-new\">Add New<\/a> <a href=\"#\" class=\"extra nf-open-import-tooltip\"><i class=\"fa fa-sign-in\" aria-hidden=\"true\"><\/i> Import<\/a>","width":"full","group":"","value":[{"label":"One","value":"one","calc":"","selected":0,"order":0},{"label":"Two","value":"two","calc":"","selected":0,"order":1},{"label":"Three","value":"three","calc":"","selected":0,"order":2}],"columns":{"label":{"header":"Label","default":""},"value":{"header":"Value","default":""},"calc":{"header":"Calc Value","default":""},"selected":{"header":"<span class=\"dashicons dashicons-yes\"><\/span>","default":0}}}},{"errors":[],"max_options":0,"order":6,"new":false,"options":[],"label":"APPLIANCES","value":"appliances","calc":"","selected":1,"settingModel":{"settings":false,"hide_merge_tags":false,"error":false,"name":"options","type":"option-repeater","label":"Options <a href=\"#\" class=\"nf-add-new\">Add New<\/a> <a href=\"#\" class=\"extra nf-open-import-tooltip\"><i class=\"fa fa-sign-in\" aria-hidden=\"true\"><\/i> Import<\/a>","width":"full","group":"","value":[{"label":"One","value":"one","calc":"","selected":0,"order":0},{"label":"Two","value":"two","calc":"","selected":0,"order":1},{"label":"Three","value":"three","calc":"","selected":0,"order":2}],"columns":{"label":{"header":"Label","default":""},"value":{"header":"Value","default":""},"calc":{"header":"Calc Value","default":""},"selected":{"header":"<span class=\"dashicons dashicons-yes\"><\/span>","default":0}}}}],"container_class":"","element_class":"","admin_label":"","help_text":"","drawerDisabled":false,"desc_text":"<p><br><\/p>","id":8,"beforeField":"","afterField":"","value":"","parentType":"list","element_templates":["listselect","input"],"old_classname":"list-select","wrap_template":"wrap"},{"objectType":"Field","objectDomain":"fields","editActive":false,"order":5,"idAttribute":"id","type":"zip","label":"Postcode","key":"postcode_1639496218429","label_pos":"above","required":1,"default":"","placeholder":"","container_class":"","element_class":"","input_limit":"","input_limit_type":"characters","input_limit_msg":"Character(s) left","manual_key":false,"admin_label":"","help_text":"","mask":"","custom_mask":"","custom_name_attribute":"zip","personally_identifiable":"","value":"","drawerDisabled":false,"id":17,"beforeField":"","afterField":"","parentType":"zip","element_templates":["zip","textbox","input","textbox","input"],"old_classname":"","wrap_template":"wrap"},{"objectType":"Field","objectDomain":"fields","editActive":false,"order":6,"idAttribute":"id","type":"textarea","label":"Paragraph Text","key":"textarea_1622811695682","label_pos":"above","required":1,"default":"","placeholder":"","container_class":"","element_class":"","input_limit":"","input_limit_type":"characters","input_limit_msg":"Character(s) left","manual_key":false,"admin_label":"","help_text":"","textarea_rte":"","disable_rte_mobile":"","textarea_media":"","value":"","drawerDisabled":false,"id":9,"beforeField":"","afterField":"","parentType":"textarea","element_templates":["textarea","input"],"old_classname":"","wrap_template":"wrap"},{"objectType":"Field","objectDomain":"fields","editActive":false,"order":7,"idAttribute":"id","type":"recaptcha","label":"","container_class":"","element_class":"","size":"visible","key":"recaptcha_1625670168361","drawerDisabled":false,"id":15,"beforeField":"","afterField":"","value":"","label_pos":"above","parentType":"textbox","element_templates":["recaptcha","input"],"old_classname":"","wrap_template":"wrap","site_key":"6Lclu24bAAAAAE87XdvFZprOLkr6a9jwJcRTaHHb","theme":"light","lang":"en-GB"},{"objectType":"Field","objectDomain":"fields","editActive":false,"order":8,"idAttribute":"id","type":"submit","label":"Submit","processing_label":"Processing","container_class":"","element_class":"","key":"submit_1622811702456","admin_label":"","id":10,"beforeField":"","afterField":"","value":"","label_pos":"above","parentType":"textbox","element_templates":["submit","button","input"],"old_classname":"","wrap_template":"wrap-no-label"}];nfForms.push(form); Quick LinksHomeBlogsContactSitemapServicesPLUMBINGPlumbersPlumbing repairsEmergency PlumbersConcealed plumbingWater pressure testingLeak detectionCENTRAL HEATINGCentral heating servicesCommercial heating servicesGas safe engineersGas fittersHeating engineersGas engineersBoiler installationsBoiler quotesBoiler RepairsPower flushingBATHROOMSBathroom fitterBathroom installationBathroom designShower installationShower repairDRAINSBlocked drainsTOILETSMacerating toilet problemsSaniflo problemsAPPLIANCESGas appliance installationGas Safety ChecksWashing machine installationCopyright © 2025 Plumb GuardianStay up to date {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/twentytwentyone/*","/wp-content/themes/oxygen-is-not-a-theme/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.Cookie SettingsAccept AllManage consent Close Privacy Overview This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience. Necessary Necessary Always Enabled Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously. CookieDurationDescriptioncookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. Functional Functional Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features. Performance Performance Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors. Analytics Analytics Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc. Advertisement Advertisement Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads. Others Others Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet. SAVE & ACCEPT .ct-FontAwesomeicon-headphones{width:0.92857142857143em} .ct-FontAwesomeicon-twitter-square{width:0.85714285714286em} .ct-FontAwesomeicon-facebook-square{width:0.85714285714286em} .ct-FontAwesomeicon-arrow-circle-right{width:0.85714285714286em} .ct-FontAwesomeicon-pinterest{width:0.85714285714286em} .ct-FontAwesomeicon-angle-double-up{width:0.64285714285714em} .ct-FontAwesomeicon-youtube-square{width:0.85714285714286em} headphonestwitter-squarefacebook-squarearrow-circle-rightpinterestangle-double-upyoutube-square /* <![CDATA[ */ var nfi18n = {"ninjaForms":"Ninja Forms","changeEmailErrorMsg":"Please enter a valid email address!","changeDateErrorMsg":"Please enter a valid date!","confirmFieldErrorMsg":"These fields must match!","fieldNumberNumMinError":"Number Min Error","fieldNumberNumMaxError":"Number Max Error","fieldNumberIncrementBy":"Please increment by ","fieldTextareaRTEInsertLink":"Insert Link","fieldTextareaRTEInsertMedia":"Insert Media","fieldTextareaRTESelectAFile":"Select a file","formErrorsCorrectErrors":"Please correct errors before submitting this form.","formHoneypot":"If you are a human seeing this field, please leave it empty.","validateRequiredField":"This is a required field.","honeypotHoneypotError":"Honeypot Error","fileUploadOldCodeFileUploadInProgress":"File Upload in Progress.","fileUploadOldCodeFileUpload":"FILE UPLOAD","currencySymbol":"\u00a3","fieldsMarkedRequired":"Fields marked with an \u003Cspan class=\"ninja-forms-req-symbol\"\u003E*\u003C/span\u003E are required","thousands_sep":",","decimal_point":".","siteLocale":"en_GB","dateFormat":"m/d/Y","startOfWeek":"1","of":"of","previousMonth":"Previous Month","nextMonth":"Next Month","months":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthsShort":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"weekdays":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"weekdaysShort":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"weekdaysMin":["Su","Mo","Tu","We","Th","Fr","Sa"],"recaptchaConsentMissing":"reCaptcha validation couldn't load.","recaptchaMissingCookie":"reCaptcha v3 validation couldn't load the cookie needed to submit the form.","recaptchaConsentEvent":"Accept reCaptcha cookies before sending the form."}; var nfFrontEnd = {"adminAjax":"https://plumbguardian.uk/wp-admin/admin-ajax.php","ajaxNonce":"7a1d0ee76c","requireBaseUrl":"https://plumbguardian.uk/wp-content/plugins/ninja-forms/assets/js/","use_merge_tags":{"user":{"address":"address","textbox":"textbox","button":"button","checkbox":"checkbox","city":"city","confirm":"confirm","date":"date","email":"email","firstname":"firstname","html":"html","hcaptcha":"hcaptcha","hidden":"hidden","lastname":"lastname","listcheckbox":"listcheckbox","listcountry":"listcountry","listimage":"listimage","listmultiselect":"listmultiselect","listradio":"listradio","listselect":"listselect","liststate":"liststate","note":"note","number":"number","password":"password","passwordconfirm":"passwordconfirm","product":"product","quantity":"quantity","recaptcha":"recaptcha","recaptcha_v3":"recaptcha_v3","repeater":"repeater","shipping":"shipping","signature":"signature","spam":"spam","starrating":"starrating","submit":"submit","terms":"terms","textarea":"textarea","total":"total","turnstile":"turnstile","unknown":"unknown","zip":"zip","hr":"hr"},"post":{"address":"address","textbox":"textbox","button":"button","checkbox":"checkbox","city":"city","confirm":"confirm","date":"date","email":"email","firstname":"firstname","html":"html","hcaptcha":"hcaptcha","hidden":"hidden","lastname":"lastname","listcheckbox":"listcheckbox","listcountry":"listcountry","listimage":"listimage","listmultiselect":"listmultiselect","listradio":"listradio","listselect":"listselect","liststate":"liststate","note":"note","number":"number","password":"password","passwordconfirm":"passwordconfirm","product":"product","quantity":"quantity","recaptcha":"recaptcha","recaptcha_v3":"recaptcha_v3","repeater":"repeater","shipping":"shipping","signature":"signature","spam":"spam","starrating":"starrating","submit":"submit","terms":"terms","textarea":"textarea","total":"total","turnstile":"turnstile","unknown":"unknown","zip":"zip","hr":"hr"},"system":{"address":"address","textbox":"textbox","button":"button","checkbox":"checkbox","city":"city","confirm":"confirm","date":"date","email":"email","firstname":"firstname","html":"html","hcaptcha":"hcaptcha","hidden":"hidden","lastname":"lastname","listcheckbox":"listcheckbox","listcountry":"listcountry","listimage":"listimage","listmultiselect":"listmultiselect","listradio":"listradio","listselect":"listselect","liststate":"liststate","note":"note","number":"number","password":"password","passwordconfirm":"passwordconfirm","product":"product","quantity":"quantity","recaptcha":"recaptcha","recaptcha_v3":"recaptcha_v3","repeater":"repeater","shipping":"shipping","signature":"signature","spam":"spam","starrating":"starrating","submit":"submit","terms":"terms","textarea":"textarea","total":"total","turnstile":"turnstile","unknown":"unknown","zip":"zip","hr":"hr"},"fields":{"address":"address","textbox":"textbox","button":"button","checkbox":"checkbox","city":"city","confirm":"confirm","date":"date","email":"email","firstname":"firstname","html":"html","hcaptcha":"hcaptcha","hidden":"hidden","lastname":"lastname","listcheckbox":"listcheckbox","listcountry":"listcountry","listimage":"listimage","listmultiselect":"listmultiselect","listradio":"listradio","listselect":"listselect","liststate":"liststate","note":"note","number":"number","password":"password","passwordconfirm":"passwordconfirm","product":"product","quantity":"quantity","recaptcha":"recaptcha","recaptcha_v3":"recaptcha_v3","repeater":"repeater","shipping":"shipping","signature":"signature","spam":"spam","starrating":"starrating","submit":"submit","terms":"terms","textarea":"textarea","total":"total","turnstile":"turnstile","unknown":"unknown","zip":"zip","hr":"hr"},"calculations":{"html":"html","hidden":"hidden","note":"note","unknown":"unknown"}},"opinionated_styles":"light","filter_esc_status":"false","nf_consent_status_response":[]}; var nfInlineVars = []; //# sourceURL=nf-front-end-js-extra /* ]]> */ (function ($) { // Select all links with hashes $('a[href*="#"]') // Remove links that don't actually link to anything .not('[href="#"]') .not('[href="#0"]') .click(function (event) { // On-page links if ( location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname ) { // Figure out element to scroll to var target = $(this.hash); target = target.length ? target : $('[name=' + this.hash.slice(1) + ']'); // Does a scroll target exist? if (target.length) { // Only prevent default if animation is actually gonna happen event.preventDefault(); $('html, body').animate({ scrollTop: target.offset().top }, 1000, function () { // Callback after animation // Must change focus! var $target = $(target); $target.focus(); if ($target.is(":focus")) { // Checking if the target was focused return false; } else { $target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable $target.focus(); // Set focus again }; }); } } }); // Back to Top - by CodyHouse.co var backTop = document.getElementsByClassName('js-cd-top')[0], // browser window scroll (in pixels) after which the "back to top" link is shown offset = 300, //browser window scroll (in pixels) after which the "back to top" link opacity is reduced offsetOpacity = 1200, scrollDuration = 700 scrolling = false; if (backTop) { //update back to top visibility on scrolling window.addEventListener("scroll", function (event) { if (!scrolling) { scrolling = true; (!window.requestAnimationFrame) ? setTimeout(checkBackToTop, 250) : window.requestAnimationFrame(checkBackToTop); } }); //smooth scroll to top backTop.addEventListener('click', function (event) { event.preventDefault(); (!window.requestAnimationFrame) ? window.scrollTo(0, 0) : scrollTop(scrollDuration); }); } function checkBackToTop() { var windowTop = window.scrollY || document.documentElement.scrollTop; (windowTop > offset) ? addClass(backTop, 'cd-top--show') : removeClass(backTop, 'cd-top--show', 'cd-top--fade-out'); (windowTop > offsetOpacity) && addClass(backTop, 'cd-top--fade-out'); scrolling = false; } function scrollTop(duration) { var start = window.scrollY || document.documentElement.scrollTop, currentTime = null; var animateScroll = function (timestamp) { if (!currentTime) currentTime = timestamp; var progress = timestamp - currentTime; var val = Math.max(Math.easeInOutQuad(progress, start, -start, duration), 0); window.scrollTo(0, val); if (progress < duration) { window.requestAnimation } }; window.requestAnimationFrame(animateScroll); } Math.easeInOutQuad = function (t, b, c, d) { t /= d / 2; if (t < 1) return c / 2 * t * t + b; t--; return -c / 2 * (t * (t - 2) - 1) + b; }; //class manipulations - needed if classList is not supported function hasClass(el, className) { if (el.classList) return el.classList.contains(className); else return !!el.className.match(new RegExp('(\\s|^)' + className + '(\\s|$)')); } function addClass(el, className) { var classList = className.split(' '); if (el.classList) el.classList.add(classList[0]); else if (!hasClass(el, classList[0])) el.className += " " + classList[0]; if (classList.length > 1) addClass(el, classList.slice(1).join(' ')); } function removeClass(el, className) { var classList = className.split(' '); if (el.classList) el.classList.remove(classList[0]); else if (hasClass(el, classList[0])) { var reg = new RegExp('(\\s|^)' + classList[0] + '(\\s|$)'); el.className = el.className.replace(reg, ' '); } if (classList.length > 1) removeClass(el, classList.slice(1).join(' ')); } })(jQuery); //** Oxygen Composite Elements Settings Section **// //** Edit the variables below to change the behavior of the element. **// var scrollDistance = 300; // Set this to the scroll distance at which you want the button to appear. //** That's it, stop editing! **/ jQuery(document).ready( function() { // If we're in the builder, do not execute. var url_string = window.location.href; var url = new URL(url_string); var param = url.searchParams.get("ct_builder"); if( param ) { return; } jQuery('.oxel_back_to_top_container').addClass('oxel_back_to_top_container--hidden'); }) jQuery(window).on('scroll', function() { var topPos = jQuery(window).scrollTop(); if( topPos > scrollDistance ) { jQuery('.oxel_back_to_top_container').removeClass('oxel_back_to_top_container--hidden'); } else { jQuery('.oxel_back_to_top_container').addClass('oxel_back_to_top_container--hidden'); } }) .oxel_back_to_top_container--hidden { bottom: -64px; } <span id="nf-form-title-{{{ data.id }}}" class="nf-form-title"> {{{ ( 1 == data.settings.show_title ) ? '<h' + data.settings.form_title_heading_level + '>' + data.settings.title + '</h' + data.settings.form_title_heading_level + '>' : '' }}} </span> <div class="nf-form-wrap ninja-forms-form-wrap"> <div class="nf-response-msg"></div> <div class="nf-debug-msg"></div> <div class="nf-before-form"></div> <div class="nf-form-layout"></div> <div class="nf-after-form"></div> </div> {{{ data.beforeForm }}} {{{ data.afterForm }}} <div class="nf-form-fields-required">{{{ data.renderFieldsMarkedRequired() }}}</div> {{{ data.beforeFields }}} {{{ data.afterFields }}} <div id="nf-form-errors-{{{ data.id }}}" class="nf-form-errors" role="alert"></div> <div class="nf-form-hp"></div> {{{ data.beforeField }}} {{{ data.afterField }}} <form> <div> <div class="nf-before-form-content"></div> <div class="nf-form-content {{{ data.element_class }}}"></div> <div class="nf-after-form-content"></div> </div> </form> <label id="nf-label-field-hp-{{{ data.id }}}" for="nf-field-hp-{{{ data.id }}}" aria-hidden="true"> {{{ nfi18n.formHoneypot }}} <input id="nf-field-hp-{{{ data.id }}}" name="nf-field-hp" class="nf-element nf-field-hp" type="text" value="" aria-labelledby="nf-label-field-hp-{{{ data.id }}}" /> </label> <div id="nf-field-{{{ data.id }}}-container" class="nf-field-container {{{ data.type }}}-container {{{ data.renderContainerClass() }}}"> <div class="nf-before-field"></div> <div class="nf-field"></div> <div class="nf-after-field"></div> </div> {{{ data.beforeField }}} <# /* * Render our input limit section if that setting exists. */ #> <div class="nf-input-limit"></div> <# /* * Render our error section if we have an error. */ #> <div id="nf-error-{{{ data.id }}}" class="nf-error-wrap nf-error" role="alert" aria-live="assertive"></div> <# /* * Render any custom HTML after our field. */ #> {{{ data.afterField }}} <div id="nf-field-{{{ data.id }}}-wrap" class="{{{ data.renderWrapClass() }}}" data-field-id="{{{ data.id }}}"> <# /* * This is our main field template. It's called for every field type. * Note that must have ONE top-level, wrapping element. i.e. a div/span/etc that wraps all of the template. */ #> <# /* * Render our label. */ #> {{{ data.renderLabel() }}} <# /* * Render our field element. Uses the template for the field being rendered. */ #> <div class="nf-field-element">{{{ data.renderElement() }}}</div> <# /* * Render our Description Text. */ #> {{{ data.renderDescText() }}} </div> <div id="nf-field-{{{ data.id }}}-wrap" class="{{{ data.renderWrapClass() }}}" data-field-id="{{{ data.id }}}"> <div class="nf-field-label"></div> <div class="nf-field-element">{{{ data.renderElement() }}}</div> <div class="nf-error-wrap"></div> </div> {{{ data.renderElement() }}} <div class="nf-error-wrap"></div> <div class="nf-field-label"> <# if ( data.type === "listcheckbox" || data.type === "listradio" || data.type === "listimage" || data.type === "date" || data.type === "starrating" || data.type === "signature" || data.type === "html" || data.type === "hr" ) { #> <span id="nf-label-field-{{{ data.id }}}" class="nf-label-span {{{ data.renderLabelClasses() }}}"> {{{ ( data.maybeFilterHTML() === 'true' ) ? _.escape( data.label ) : data.label }}} {{{ ( 'undefined' != typeof data.required && 1 == data.required ) ? '<span class="ninja-forms-req-symbol">*</span>' : '' }}} {{{ data.maybeRenderHelp() }}} </span> <# } else { #> <label for="nf-field-{{{ data.id }}}" id="nf-label-field-{{{ data.id }}}" class="{{{ data.renderLabelClasses() }}}"> {{{ ( data.maybeFilterHTML() === 'true' ) ? _.escape( data.label ) : data.label }}} {{{ ( 'undefined' != typeof data.required && 1 == data.required ) ? '<span class="ninja-forms-req-symbol">*</span>' : '' }}} {{{ data.maybeRenderHelp() }}} </label> <# } #> </div> <div class="nf-error-msg nf-error-{{{ data.id }}}" aria-live="assertive">{{{ data.msg }}}</div> <div class="nf-error-msg nf-error-{{{ data.id }}}">{{{ data.msg }}}</div> {{{ data.currentCount() }}} {{{ nfi18n.of }}} {{{ data.input_limit }}} {{{ data.input_limit_msg }}} <input type="text" value="{{{ _.escape( data.value ) }}}" class="{{{ data.renderClasses() }}} nf-element" id="nf-field-{{{ data.id }}}" name="{{ data.custom_name_attribute || 'nf-field-' + data.id + '-' + data.type }}" {{{ data.maybeDisableAutocomplete() }}} {{{ data.renderPlaceholder() }}} aria-invalid="false" aria-describedby="<# if( data.desc_text ) { #>nf-description-{{{ data.id }}} <# } #>nf-error-{{{ data.id }}}" aria-labelledby="nf-label-field-{{{ data.id }}}" {{{ data.maybeRequired() }}} > <input id="nf-field-{{{ data.id }}}" name="nf-field-{{{ data.id }}}" aria-invalid="false" aria-describedby="<# if( data.desc_text ) { #>nf-description-{{{ data.id }}} <# } #>nf-error-{{{ data.id }}}" class="{{{ data.renderClasses() }}} nf-element" type="text" value="{{{ _.escape( data.value ) }}}" {{{ data.renderPlaceholder() }}} {{{ data.maybeDisabled() }}} aria-labelledby="nf-label-field-{{{ data.id }}}" {{{ data.maybeRequired() }}} > <input type="email" value="{{{ _.escape( data.value ) }}}" class="{{{ data.renderClasses() }}} nf-element" id="nf-field-{{{ data.id }}}" name="{{ data.custom_name_attribute || 'nf-field-' + data.id + '-' + data.type }}" {{{data.maybeDisableAutocomplete()}}} {{{ data.renderPlaceholder() }}} {{{ data.maybeDisabled() }}} aria-invalid="false" aria-describedby="<# if( data.desc_text ) { #>nf-description-{{{ data.id }}} <# } #>nf-error-{{{ data.id }}}" aria-labelledby="nf-label-field-{{{ data.id }}}" {{{ data.maybeRequired() }}} > <input type="tel" value="{{{ _.escape( data.value ) }}}" class="{{{ data.renderClasses() }}} nf-element" {{{ data.maybeDisabled() }}} id="nf-field-{{{ data.id }}}" name="{{ data.custom_name_attribute || 'nf-field-' + data.id + '-' + data.type }}" {{{ data.maybeDisableAutocomplete() }}} {{{ data.renderPlaceholder() }}} aria-invalid="false" aria-describedby="<# if( data.desc_text ) { #>nf-description-{{{ data.id }}} <# } #>nf-error-{{{ data.id }}}" aria-labelledby="nf-label-field-{{{ data.id }}}" {{{ data.maybeRequired() }}} > <input type="text" value="{{{ _.escape( data.value ) }}}" class="{{{ data.renderClasses() }}} nf-element" {{{ data.renderPlaceholder() }}} {{{ data.maybeDisabled() }}} {{{ data.maybeInputLimit() }}} id="nf-field-{{{ data.id }}}" name="{{ data.custom_name_attribute || 'nf-field-' + data.id + '-' + data.type }}" {{{ data.maybeDisableAutocomplete() }}} aria-invalid="false" aria-describedby="<# if( data.desc_text ) { #>nf-description-{{{ data.id }}} <# } #>nf-error-{{{ data.id }}}" aria-labelledby="nf-label-field-{{{ data.id }}}" {{{ data.maybeRequired() }}} > <select id="nf-field-{{{ data.id }}}" name="nf-field-{{{ data.id }}}" aria-invalid="false" aria-describedby="<# if( data.desc_text ) { #>nf-description-{{{ data.id }}} <# } #>nf-error-{{{ data.id }}}" class="{{{ data.renderClasses() }}} nf-element" {{{ data.renderOtherAttributes() }}} aria-labelledby="nf-label-field-{{{ data.id }}}" {{{ data.maybeRequired() }}} > {{{ data.renderOptions() }}} </select> <div for="nf-field-{{{ data.id }}}"></div> <# if ( ! data.visible ) { return ''; } #> <option value="{{{ data.value }}}" {{{ ( 1 == data.selected ) ? 'selected="selected"' : '' }}} >{{{ data.label }}}</option> <input type="text" value="{{{ _.escape( data.value ) }}}" class="{{{ data.renderClasses() }}} nf-element" id="nf-field-{{{ data.id }}}" name="{{ data.custom_name_attribute || 'nf-field-' + data.id + '-' + data.type }}" {{{ data.maybeDisableAutocomplete() }}} {{{ data.renderPlaceholder() }}} {{{ data.maybeDisabled() }}} aria-invalid="false" aria-describedby="<# if( data.desc_text ) { #>nf-description-{{{ data.id }}} <# } #>nf-error-{{{ data.id }}}" aria-labelledby="nf-label-field-{{{ data.id }}}" {{{ data.maybeRequired() }}} > <textarea id="nf-field-{{{ data.id }}}" name="nf-field-{{{ data.id }}}" aria-invalid="false" aria-describedby="<# if( data.desc_text ) { #>nf-description-{{{ data.id }}} <# } #>nf-error-{{{ data.id }}}" class="{{{ data.renderClasses() }}} nf-element" {{{ data.renderPlaceholder() }}} {{{ data.maybeDisabled() }}} {{{ data.maybeDisableAutocomplete() }}} {{{ data.maybeInputLimit() }}} aria-labelledby="nf-label-field-{{{ data.id }}}" {{{ data.maybeRequired() }}} >{{{ _.escape( data.value ) }}}</textarea> <span class="dashicons dashicons-admin-media"></span> <span class="dashicons dashicons-admin-links"></span> <span class="dashicons dashicons-editor-unlink"></span> <div class="summernote-link"> URL <input type="url" class="widefat code link-url"> <br /> Text <input type="url" class="widefat code link-text"> <br /> <label> <input type="checkbox" class="link-new-window"> {{{ nfi18n.fieldsTextareaOpenNewWindow }}} </label> <input type="button" class="cancel-link extra" value="Cancel"> <input type="button" class="insert-link extra" value="Insert"> </div> <input id="nf-field-{{{ data.id }}}" name="nf-field-{{{ data.id }}}" class="{{{ data.renderClasses() }}} nf-element" type="hidden" value="{{{ data.value }}}" /> <div class="g-recaptcha" data-callback="nf_recaptcha_response_{{{ data.id }}}" data-theme="{{{ data.theme }}}" data-sitekey="{{{ data.site_key }}}" data-fieldid="{{{ data.id }}}" {{{ ( "invisible" == data.size ) ? 'data-size="invisible"' : '' }}}></div> <# let myType = data.type if('save'== data.type){ myType = 'button' } #> <input id="nf-field-{{{ data.id }}}" class="{{{ data.renderClasses() }}} nf-element " type="{{{myType}}}" value="{{{ ( data.maybeFilterHTML() === 'true' ) ? _.escape( data.label ) : data.label }}}" {{{ ( data.disabled ) ? 'aria-disabled="true" disabled="true"' : '' }}}> <button id="nf-field-{{{ data.id }}}" name="nf-field-{{{ data.id }}}" class="{{{ data.classes }}} nf-element"> {{{ ( data.maybeFilterHTML() === 'true' ) ? _.escape( data.label ) : data.label }}} </button>
https://plumbguardian.uk/
Status: 200
Emails:
View text
‘More than just plumbers!’0800 0862643Get Quote HomeServices PLUMBING PlumbersPlumbing repairsEmergency PlumbersConcealed PlumbingWater Pressure TestingLeak Detection CENTRAL HEATING Central Heating ServicesCommercial heating servicesGas safe engineersGas fittersHeating engineersGas engineersBoiler installationsBoiler quotesBoiler RepairsPower flushing BATHROOMS Bathroom fitterBathroom installationBathroom designShower InstallationShower Repair DRAINS Blocked drains TOILETS Macerating Toilet ProblemsSaniflo problems APPLIANCES Gas appliance installationGas Safety ChecksWashing machine installation BlogsContactWe Are Plumbing &Heating Experts FREE QUOTE TODAY Notice: JavaScript is required for this content. var formDisplay=1;var nfForms=nfForms||[];var form=[];form.id='2';form.settings={"objectType":"Form Setting","editActive":true,"title":" Quote Form","show_title":0,"allow_public_link":0,"embed_form":"","clear_complete":1,"hide_complete":1,"default_label_pos":"above","wrapper_class":"","element_class":"","key":"","add_submit":0,"currency":"","repeatable_fieldsets":"","unique_field_error":"A form with this value has already been submitted.","logged_in":0,"not_logged_in_msg":"","sub_limit_msg":"The form has reached its submission limit.","calculations":[],"formContentData":["name_1623427133236","email_1623426788349","phone_1622811668802","services_1623660222254","postcode_1639496218429","textarea_1622811695682","recaptcha_1625670168361","submit_1622811702456"],"changeEmailErrorMsg":"Please enter a valid email address!","changeDateErrorMsg":"Please enter a valid date!","confirmFieldErrorMsg":"These fields must match!","fieldNumberNumMinError":"Number Min Error","fieldNumberNumMaxError":"Number Max Error","fieldNumberIncrementBy":"Please increment by ","formErrorsCorrectErrors":"Please correct errors before submitting this form.","validateRequiredField":"This is a required field.","honeypotHoneypotError":"Honeypot Error","fieldsMarkedRequired":"Fields marked with an <span class=\"ninja-forms-req-symbol\">*<\/span> are required","drawerDisabled":false,"form_title_heading_level":"3","ninjaForms":"Ninja Forms","fieldTextareaRTEInsertLink":"Insert Link","fieldTextareaRTEInsertMedia":"Insert Media","fieldTextareaRTESelectAFile":"Select a file","formHoneypot":"If you are a human seeing this field, please leave it empty.","fileUploadOldCodeFileUploadInProgress":"File Upload in Progress.","fileUploadOldCodeFileUpload":"FILE UPLOAD","currencySymbol":"£","thousands_sep":",","decimal_point":".","siteLocale":"en_GB","dateFormat":"m\/d\/Y","startOfWeek":"1","of":"of","previousMonth":"Previous Month","nextMonth":"Next Month","months":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthsShort":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"weekdays":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"weekdaysShort":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"weekdaysMin":["Su","Mo","Tu","We","Th","Fr","Sa"],"recaptchaConsentMissing":"reCaptcha validation couldn't load.","recaptchaMissingCookie":"reCaptcha v3 validation couldn't load the cookie needed to submit the form.","recaptchaConsentEvent":"Accept reCaptcha cookies before sending the form.","currency_symbol":"","beforeForm":"","beforeFields":"","afterFields":"","afterForm":""};form.fields=[{"objectType":"Field","objectDomain":"fields","editActive":false,"order":1,"idAttribute":"id","type":"firstname","label":"Name","key":"name_1623427133236","label_pos":"above","required":1,"default":"","placeholder":"","container_class":"","element_class":"","admin_label":"","help_text":"","custom_name_attribute":"fname","personally_identifiable":1,"value":"","drawerDisabled":false,"id":5,"beforeField":"","afterField":"","parentType":"firstname","element_templates":["firstname","input"],"old_classname":"","wrap_template":"wrap"},{"objectType":"Field","objectDomain":"fields","editActive":false,"order":2,"idAttribute":"id","type":"email","label":"Email","key":"email_1623426788349","label_pos":"above","required":1,"default":"","placeholder":"","container_class":"","element_class":"","admin_label":"","help_text":"","custom_name_attribute":"email","personally_identifiable":1,"value":"","drawerDisabled":false,"id":11,"beforeField":"","afterField":"","parentType":"email","element_templates":["email","input"],"old_classname":"","wrap_template":"wrap"},{"objectType":"Field","objectDomain":"fields","editActive":false,"order":3,"idAttribute":"id","type":"phone","label":"Phone","key":"phone_1622811668802","label_pos":"above","required":1,"default":"","placeholder":"","container_class":"","element_class":"","input_limit":"","input_limit_type":"characters","input_limit_msg":"Character(s) left","manual_key":false,"admin_label":"","help_text":"","mask":"","custom_mask":"","custom_name_attribute":"phone","personally_identifiable":1,"value":"","id":7,"beforeField":"","afterField":"","parentType":"textbox","element_templates":["tel","textbox","input"],"old_classname":"","wrap_template":"wrap"},{"objectType":"Field","objectDomain":"fields","editActive":false,"order":4,"idAttribute":"id","type":"listselect","label":"Services","key":"services_1623660222254","label_pos":"above","required":false,"options":[{"errors":[],"max_options":0,"label":"","value":"","calc":"","selected":1,"order":0,"settingModel":{"settings":false,"hide_merge_tags":false,"error":false,"name":"options","type":"option-repeater","label":"Options <a href=\"#\" class=\"nf-add-new\">Add New<\/a> <a href=\"#\" class=\"extra nf-open-import-tooltip\"><i class=\"fa fa-sign-in\" aria-hidden=\"true\"><\/i> Import<\/a>","width":"full","group":"","value":[{"label":"One","value":"one","calc":"","selected":0,"order":0},{"label":"Two","value":"two","calc":"","selected":0,"order":1},{"label":"Three","value":"three","calc":"","selected":0,"order":2}],"columns":{"label":{"header":"Label","default":""},"value":{"header":"Value","default":""},"calc":{"header":"Calc Value","default":""},"selected":{"header":"<span class=\"dashicons dashicons-yes\"><\/span>","default":0}}}},{"errors":[],"max_options":0,"label":"PLUMBING","value":"plumbing","calc":"","settingModel":{"settings":false,"hide_merge_tags":false,"error":false,"name":"options","type":"option-repeater","label":"Options <a href=\"#\" class=\"nf-add-new\">Add New<\/a> <a href=\"#\" class=\"extra nf-open-import-tooltip\"><i class=\"fa fa-sign-in\" aria-hidden=\"true\"><\/i> Import<\/a>","width":"full","group":"","value":[{"label":"One","value":"one","calc":"","selected":0,"order":0},{"label":"Two","value":"two","calc":"","selected":0,"order":1},{"label":"Three","value":"three","calc":"","selected":0,"order":2}],"columns":{"label":{"header":"Label","default":""},"value":{"header":"Value","default":""},"calc":{"header":"Calc Value","default":""},"selected":{"header":"<span class=\"dashicons dashicons-yes\"><\/span>","default":0}}},"selected":1},{"errors":[],"max_options":0,"order":2,"new":false,"options":[],"label":"CENTRAL HEATING","value":"central-heating","calc":"","selected":1,"settingModel":{"settings":false,"hide_merge_tags":false,"error":false,"name":"options","type":"option-repeater","label":"Options <a href=\"#\" class=\"nf-add-new\">Add New<\/a> <a href=\"#\" class=\"extra nf-open-import-tooltip\"><i class=\"fa fa-sign-in\" aria-hidden=\"true\"><\/i> Import<\/a>","width":"full","group":"","value":[{"label":"One","value":"one","calc":"","selected":0,"order":0},{"label":"Two","value":"two","calc":"","selected":0,"order":1},{"label":"Three","value":"three","calc":"","selected":0,"order":2}],"columns":{"label":{"header":"Label","default":""},"value":{"header":"Value","default":""},"calc":{"header":"Calc Value","default":""},"selected":{"header":"<span class=\"dashicons dashicons-yes\"><\/span>","default":0}}}},{"errors":[],"max_options":0,"order":3,"new":false,"options":[],"label":"BATHROOMS","value":"bathrooms","calc":"","selected":1,"settingModel":{"settings":false,"hide_merge_tags":false,"error":false,"name":"options","type":"option-repeater","label":"Options <a href=\"#\" class=\"nf-add-new\">Add New<\/a> <a href=\"#\" class=\"extra nf-open-import-tooltip\"><i class=\"fa fa-sign-in\" aria-hidden=\"true\"><\/i> Import<\/a>","width":"full","group":"","value":[{"label":"One","value":"one","calc":"","selected":0,"order":0},{"label":"Two","value":"two","calc":"","selected":0,"order":1},{"label":"Three","value":"three","calc":"","selected":0,"order":2}],"columns":{"label":{"header":"Label","default":""},"value":{"header":"Value","default":""},"calc":{"header":"Calc Value","default":""},"selected":{"header":"<span class=\"dashicons dashicons-yes\"><\/span>","default":0}}}},{"errors":[],"max_options":0,"order":4,"new":false,"options":[],"label":"DRAINS","value":"drains","calc":"","selected":1,"settingModel":{"settings":false,"hide_merge_tags":false,"error":false,"name":"options","type":"option-repeater","label":"Options <a href=\"#\" class=\"nf-add-new\">Add New<\/a> <a href=\"#\" class=\"extra nf-open-import-tooltip\"><i class=\"fa fa-sign-in\" aria-hidden=\"true\"><\/i> Import<\/a>","width":"full","group":"","value":[{"label":"One","value":"one","calc":"","selected":0,"order":0},{"label":"Two","value":"two","calc":"","selected":0,"order":1},{"label":"Three","value":"three","calc":"","selected":0,"order":2}],"columns":{"label":{"header":"Label","default":""},"value":{"header":"Value","default":""},"calc":{"header":"Calc Value","default":""},"selected":{"header":"<span class=\"dashicons dashicons-yes\"><\/span>","default":0}}}},{"errors":[],"max_options":0,"order":5,"new":false,"options":[],"label":"TOILETS","value":"toilets","calc":"","selected":1,"settingModel":{"settings":false,"hide_merge_tags":false,"error":false,"name":"options","type":"option-repeater","label":"Options <a href=\"#\" class=\"nf-add-new\">Add New<\/a> <a href=\"#\" class=\"extra nf-open-import-tooltip\"><i class=\"fa fa-sign-in\" aria-hidden=\"true\"><\/i> Import<\/a>","width":"full","group":"","value":[{"label":"One","value":"one","calc":"","selected":0,"order":0},{"label":"Two","value":"two","calc":"","selected":0,"order":1},{"label":"Three","value":"three","calc":"","selected":0,"order":2}],"columns":{"label":{"header":"Label","default":""},"value":{"header":"Value","default":""},"calc":{"header":"Calc Value","default":""},"selected":{"header":"<span class=\"dashicons dashicons-yes\"><\/span>","default":0}}}},{"errors":[],"max_options":0,"order":6,"new":false,"options":[],"label":"APPLIANCES","value":"appliances","calc":"","selected":1,"settingModel":{"settings":false,"hide_merge_tags":false,"error":false,"name":"options","type":"option-repeater","label":"Options <a href=\"#\" class=\"nf-add-new\">Add New<\/a> <a href=\"#\" class=\"extra nf-open-import-tooltip\"><i class=\"fa fa-sign-in\" aria-hidden=\"true\"><\/i> Import<\/a>","width":"full","group":"","value":[{"label":"One","value":"one","calc":"","selected":0,"order":0},{"label":"Two","value":"two","calc":"","selected":0,"order":1},{"label":"Three","value":"three","calc":"","selected":0,"order":2}],"columns":{"label":{"header":"Label","default":""},"value":{"header":"Value","default":""},"calc":{"header":"Calc Value","default":""},"selected":{"header":"<span class=\"dashicons dashicons-yes\"><\/span>","default":0}}}}],"container_class":"","element_class":"","admin_label":"","help_text":"","drawerDisabled":false,"desc_text":"<p><br><\/p>","id":8,"beforeField":"","afterField":"","value":"","parentType":"list","element_templates":["listselect","input"],"old_classname":"list-select","wrap_template":"wrap"},{"objectType":"Field","objectDomain":"fields","editActive":false,"order":5,"idAttribute":"id","type":"zip","label":"Postcode","key":"postcode_1639496218429","label_pos":"above","required":1,"default":"","placeholder":"","container_class":"","element_class":"","input_limit":"","input_limit_type":"characters","input_limit_msg":"Character(s) left","manual_key":false,"admin_label":"","help_text":"","mask":"","custom_mask":"","custom_name_attribute":"zip","personally_identifiable":"","value":"","drawerDisabled":false,"id":17,"beforeField":"","afterField":"","parentType":"zip","element_templates":["zip","textbox","input","textbox","input"],"old_classname":"","wrap_template":"wrap"},{"objectType":"Field","objectDomain":"fields","editActive":false,"order":6,"idAttribute":"id","type":"textarea","label":"Paragraph Text","key":"textarea_1622811695682","label_pos":"above","required":1,"default":"","placeholder":"","container_class":"","element_class":"","input_limit":"","input_limit_type":"characters","input_limit_msg":"Character(s) left","manual_key":false,"admin_label":"","help_text":"","textarea_rte":"","disable_rte_mobile":"","textarea_media":"","value":"","drawerDisabled":false,"id":9,"beforeField":"","afterField":"","parentType":"textarea","element_templates":["textarea","input"],"old_classname":"","wrap_template":"wrap"},{"objectType":"Field","objectDomain":"fields","editActive":false,"order":7,"idAttribute":"id","type":"recaptcha","label":"","container_class":"","element_class":"","size":"visible","key":"recaptcha_1625670168361","drawerDisabled":false,"id":15,"beforeField":"","afterField":"","value":"","label_pos":"above","parentType":"textbox","element_templates":["recaptcha","input"],"old_classname":"","wrap_template":"wrap","site_key":"6Lclu24bAAAAAE87XdvFZprOLkr6a9jwJcRTaHHb","theme":"light","lang":"en-GB"},{"objectType":"Field","objectDomain":"fields","editActive":false,"order":8,"idAttribute":"id","type":"submit","label":"Submit","processing_label":"Processing","container_class":"","element_class":"","key":"submit_1622811702456","admin_label":"","id":10,"beforeField":"","afterField":"","value":"","label_pos":"above","parentType":"textbox","element_templates":["submit","button","input"],"old_classname":"","wrap_template":"wrap-no-label"}];nfForms.push(form); about Plumb GuardianPlumbguardian provides professional plumbing, central heating and boiler installation services across the North East of England. We are committed and pay attention to every detail so we can do our best for you. Plumbguardian want to make sure that you are happy with our service and We will work hard to meet your needs and give you the best service possible. We provide our customers with peace of mind by always doing high-quality work. This can be done at a competitive price. If you have a problem that needs to be fixed right away, contact plumbguardian today! They will send someone over as soon as possible. OUR SERVICESWhat We have DonePlumbGuardian Heating EngineersWhen you need a gas engineer for something like a boiler installation or repair, you want someone you can trust to come into your home and do the job properly.Read MorePlumbGuardian Gas EngineersWhen you need a gas engineer for something like a boiler installation or repair, you want someone you can trust to come into your home and do the job properly.Read MorePlumbGuardian Boiler InstallationsWhen you need a gas engineer for something like a boiler installation or repair, you want someone you can trust to come into your home and do the job properly.Read MoreLeak DetectionIt is not uncommon for a water leak to go undetected for days, weeks, or even years. Unfortunately, the longer it goes unnoticed, the more damage can be done.Read MorePlumbers/Plumbing RepairsAre you looking for a company that is trustworthy, reliable, and professional?We have extensive experience in all trade features and specialize in fault finding and repairing existing central heating systems and boilers...Read MoreEmergency PlumbersAre you facing any emergency hiccups such as burst pipes, boiler replacement, drain, and toilet blockage?Read MoreShower InstallationFor shower installation, we fit all types of showers, installing shower's running water supply pipework, flooring and installing false ceilings and stud walls...Read MoreShower RepairIf you are used to a warm shower, an unexpected cold shower could easily spoil your day- that is why repair to a leaking or a broken shower in the house is a matter of urgency.Read MoreWater Pressure TestingIt is essential to understand your water pressure as it's vital to your plumbing system's wellness and the health of your mind.Read MoreConcealed PlumbingThe plumbing system in your house is the determination of various significant undertakings to access daily household activities.Read MoreCentral Heating ServicesA central heating system is an installation done to warm the house, especially in cold climates. Most modern residential and commercial buildings have a central heating system in the interior.Read MoreBoiler RepairsYour boiler might malfunction unexpectedly, leaving you unsatisfied and frustrated. At PlumbGuardian, we are well equipped and at your disposal, if you want your boiler reinforced to normal working conditions.Read MoreGas Safety ChecksGas appliances need regular annual maintenance checks to prevent gas leaks and stop carbon monoxide release. It's recommended to have a registered engineer maintain all your gas appliances.Read MoreMacerating Toilet ProblemsMacerator toilets are widely used in homes across the UK and remove waste when flushed from below the drainage line.Read MoreSaniflo problemsPrimarily, Saniflo systems work efficiently and are reliable for a long time because of their durability. Read MoreBathroom InstallationHow can you get the right person for the job? Bathroom installation is a proficient task that is routinely conducted by professional installers.Read MoreWhat Is Power Flushing?Cleaning your heating system with vigorous and mobilizing agents is a great way to eliminate sludge, lime, and other deposits in your house.Read More DON’T TAKE OUR WORD FOR IT - SEE WHATOUR CUSTOMERS HAVE SAIDI have used Plumb Guardian twice, each time the service has been prompt. They told me what needed to be done, gave me options and got to work! No mess and no fuss.AlexPositive: Punctuality, Quality, Responsiveness Engineer was punctual, part was fitted quickly & very helpful with advise for future work needed.Sandra RossPolite, clean and helpful engineer who took the time to explain the fault with my boiler. I have made an appointment for them to come back to fix a dripping tap in my bathroom.SimonI was happy with Plumb Guardian quality of work,time keeping when fitting my new boiler. He removed all waste materials and kept the disturbance to my family at a minimum..PaulineGot working straight away at pace. Friendly and insisted on cleaning up after the work was completed.Sandra RossThank you very much for the Plumb Guardian . They were amazing with their business approach. Only l ended up paying more because l thought it was a roofer's job.I will definitely come backBraytonjQuery(document).ready(function($){$('#slider-249-8.ct_unique_slider_3763 .oxygen-unslider-container:not(.unslider-horizontal,.unslider-fade)').unslider({autoplay: false, delay: 3000, animation: 'horizontal', speed : 2000, arrows: true, nav: false, infinite: false})});BOOK ONLINE TODAY OR CALL US NOW FOR A FREE QUOTECall us on0800 0862643Areas we cover Services plumbguardian service areas Plumbers Middlesbrough DarlingtonDurhamHartlepoolNewcastleSunderlandLanchesterStocktonRedcarScarboroughStokesleyHarrogateGatesheadYorkWashingtonChester Le StreetRichmondBarnard CastleSeahamThornabySpennymoorPeterleeRipleyWetherbyYarmNorthallertonRiponKnaresboroughHoughton Le SpringBlaydonWhitbyCatterickCroptonConsettShildonCrookSkeltonFerryhillHaxbyLoftusBishop AucklandGuisboroughCoxhoePickeringBowburnSherburnTadcasterSaltburnStrensallSeaton CarewBowesThirskMaltonGreat AytonBedaleSeamerSowerbyMiddleton St. GeorgeScalbyBoroughbridgeHurworthLeeming BarFishburnCaytonLeyburnRunswick BaySwainbyDanbyRobin Hoods BayStaindropMasham Boiler installations MiddlesbroughDarlingtonDurhamHartlepoolNewcastleSunderlandLanchesterStocktonRedcarScarboroughStokesleyHarrogateGatesheadYorkWashingtonChester Le StreetRichmondBarnard CastleSeahamThornabySpennymoorPeterleeRipleyWetherbyYarmNorthallertonRiponKnaresboroughHoughton Le SpringBlaydonWhitbyCatterickCroptonConsettShildonCrookSkeltonFerryhillHaxbyLoftusBishop AucklandGuisboroughCoxhoePickeringBowburnSherburnTadcasterSaltburnStrensallSeaton CarewBowesThirskMaltonGreat AytonBedaleSeamerSowerbyMiddleton St. GeorgeScalbyBoroughbridgeHurworthLeeming BarFishburnCaytonLeyburnRunswick BaySwainbyDanbyRobin Hoods BayStaindropMasham Accreditations Quick LinksHomeBlogsContactSitemapServicesPLUMBINGPlumbersPlumbing repairsEmergency PlumbersConcealed plumbingWater pressure testingLeak detectionCENTRAL HEATINGCentral heating servicesCommercial heating servicesGas safe engineersGas fittersHeating engineersGas engineersBoiler installationsBoiler quotesBoiler RepairsPower flushingBATHROOMSBathroom fitterBathroom installationBathroom designShower installationShower repairDRAINSBlocked drainsTOILETSMacerating toilet problemsSaniflo problemsAPPLIANCESGas appliance installationGas Safety ChecksWashing machine installationCopyright © 2025 Plumb GuardianStay up to date {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/twentytwentyone/*","/wp-content/themes/oxygen-is-not-a-theme/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.Cookie SettingsAccept AllManage consent Close Privacy Overview This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience. Necessary Necessary Always Enabled Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously. CookieDurationDescriptioncookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. Functional Functional Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features. Performance Performance Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors. Analytics Analytics Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc. Advertisement Advertisement Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads. Others Others Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet. SAVE & ACCEPT .ct-FontAwesomeicon-star{width:0.92857142857143em} .ct-FontAwesomeicon-headphones{width:0.92857142857143em} .ct-FontAwesomeicon-twitter-square{width:0.85714285714286em} .ct-FontAwesomeicon-facebook-square{width:0.85714285714286em} .ct-FontAwesomeicon-arrow-circle-right{width:0.85714285714286em} .ct-FontAwesomeicon-pinterest{width:0.85714285714286em} .ct-FontAwesomeicon-angle-double-up{width:0.64285714285714em} .ct-FontAwesomeicon-star-half-empty{width:0.92857142857143em} .ct-FontAwesomeicon-youtube-square{width:0.85714285714286em} .ct-FontAwesomeicon-arrow-circle-o-right{width:0.85714285714286em} starheadphonestwitter-squarefacebook-squarearrow-circle-rightpinterestangle-double-upstar-half-emptyyoutube-squarearrow-circle-o-right jQuery(document).ready(function() { let event = new Event('oxygenVSBInitToggleJs'); document.dispatchEvent(event); }); document.addEventListener("oxygenVSBInitToggleJs",function(){ oxygenVSBInitToggleState(); },false); oxygenVSBInitToggleState = function() { jQuery('.oxy-toggle').each(function() { var initial_state = jQuery(this).attr('data-oxy-toggle-initial-state'), toggle_target = jQuery(this).attr('data-oxy-toggle-target'), active_class = jQuery(this).attr('data-oxy-toggle-active-class'); if (initial_state == 'closed') { if (!toggle_target) { jQuery(this).next().hide(); } else { jQuery(toggle_target).hide(); } jQuery(this).children('.oxy-expand-collapse-icon').addClass('oxy-eci-collapsed'); jQuery(this).removeClass(active_class) } else { jQuery(this).addClass(active_class) } }); } jQuery("body").on('click', '.oxy-toggle', function() { var toggle_target = jQuery(this).attr('data-oxy-toggle-target'), active_class = jQuery(this).attr('data-oxy-toggle-active-class'); jQuery(this).toggleClass(active_class) jQuery(this).children('.oxy-expand-collapse-icon').toggleClass('oxy-eci-collapsed'); if (!toggle_target) { jQuery(this).next().toggle(); } else { jQuery(toggle_target).toggle(); } // force 3rd party plugins to rerender things inside the toggle jQuery(window).trigger('resize'); }); /* <![CDATA[ */ var nfi18n = {"ninjaForms":"Ninja Forms","changeEmailErrorMsg":"Please enter a valid email address!","changeDateErrorMsg":"Please enter a valid date!","confirmFieldErrorMsg":"These fields must match!","fieldNumberNumMinError":"Number Min Error","fieldNumberNumMaxError":"Number Max Error","fieldNumberIncrementBy":"Please increment by ","fieldTextareaRTEInsertLink":"Insert Link","fieldTextareaRTEInsertMedia":"Insert Media","fieldTextareaRTESelectAFile":"Select a file","formErrorsCorrectErrors":"Please correct errors before submitting this form.","formHoneypot":"If you are a human seeing this field, please leave it empty.","validateRequiredField":"This is a required field.","honeypotHoneypotError":"Honeypot Error","fileUploadOldCodeFileUploadInProgress":"File Upload in Progress.","fileUploadOldCodeFileUpload":"FILE UPLOAD","currencySymbol":"\u00a3","fieldsMarkedRequired":"Fields marked with an \u003Cspan class=\"ninja-forms-req-symbol\"\u003E*\u003C/span\u003E are required","thousands_sep":",","decimal_point":".","siteLocale":"en_GB","dateFormat":"m/d/Y","startOfWeek":"1","of":"of","previousMonth":"Previous Month","nextMonth":"Next Month","months":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthsShort":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"weekdays":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"weekdaysShort":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"weekdaysMin":["Su","Mo","Tu","We","Th","Fr","Sa"],"recaptchaConsentMissing":"reCaptcha validation couldn't load.","recaptchaMissingCookie":"reCaptcha v3 validation couldn't load the cookie needed to submit the form.","recaptchaConsentEvent":"Accept reCaptcha cookies before sending the form."}; var nfFrontEnd = {"adminAjax":"https://plumbguardian.uk/wp-admin/admin-ajax.php","ajaxNonce":"7a1d0ee76c","requireBaseUrl":"https://plumbguardian.uk/wp-content/plugins/ninja-forms/assets/js/","use_merge_tags":{"user":{"address":"address","textbox":"textbox","button":"button","checkbox":"checkbox","city":"city","confirm":"confirm","date":"date","email":"email","firstname":"firstname","html":"html","hcaptcha":"hcaptcha","hidden":"hidden","lastname":"lastname","listcheckbox":"listcheckbox","listcountry":"listcountry","listimage":"listimage","listmultiselect":"listmultiselect","listradio":"listradio","listselect":"listselect","liststate":"liststate","note":"note","number":"number","password":"password","passwordconfirm":"passwordconfirm","product":"product","quantity":"quantity","recaptcha":"recaptcha","recaptcha_v3":"recaptcha_v3","repeater":"repeater","shipping":"shipping","signature":"signature","spam":"spam","starrating":"starrating","submit":"submit","terms":"terms","textarea":"textarea","total":"total","turnstile":"turnstile","unknown":"unknown","zip":"zip","hr":"hr"},"post":{"address":"address","textbox":"textbox","button":"button","checkbox":"checkbox","city":"city","confirm":"confirm","date":"date","email":"email","firstname":"firstname","html":"html","hcaptcha":"hcaptcha","hidden":"hidden","lastname":"lastname","listcheckbox":"listcheckbox","listcountry":"listcountry","listimage":"listimage","listmultiselect":"listmultiselect","listradio":"listradio","listselect":"listselect","liststate":"liststate","note":"note","number":"number","password":"password","passwordconfirm":"passwordconfirm","product":"product","quantity":"quantity","recaptcha":"recaptcha","recaptcha_v3":"recaptcha_v3","repeater":"repeater","shipping":"shipping","signature":"signature","spam":"spam","starrating":"starrating","submit":"submit","terms":"terms","textarea":"textarea","total":"total","turnstile":"turnstile","unknown":"unknown","zip":"zip","hr":"hr"},"system":{"address":"address","textbox":"textbox","button":"button","checkbox":"checkbox","city":"city","confirm":"confirm","date":"date","email":"email","firstname":"firstname","html":"html","hcaptcha":"hcaptcha","hidden":"hidden","lastname":"lastname","listcheckbox":"listcheckbox","listcountry":"listcountry","listimage":"listimage","listmultiselect":"listmultiselect","listradio":"listradio","listselect":"listselect","liststate":"liststate","note":"note","number":"number","password":"password","passwordconfirm":"passwordconfirm","product":"product","quantity":"quantity","recaptcha":"recaptcha","recaptcha_v3":"recaptcha_v3","repeater":"repeater","shipping":"shipping","signature":"signature","spam":"spam","starrating":"starrating","submit":"submit","terms":"terms","textarea":"textarea","total":"total","turnstile":"turnstile","unknown":"unknown","zip":"zip","hr":"hr"},"fields":{"address":"address","textbox":"textbox","button":"button","checkbox":"checkbox","city":"city","confirm":"confirm","date":"date","email":"email","firstname":"firstname","html":"html","hcaptcha":"hcaptcha","hidden":"hidden","lastname":"lastname","listcheckbox":"listcheckbox","listcountry":"listcountry","listimage":"listimage","listmultiselect":"listmultiselect","listradio":"listradio","listselect":"listselect","liststate":"liststate","note":"note","number":"number","password":"password","passwordconfirm":"passwordconfirm","product":"product","quantity":"quantity","recaptcha":"recaptcha","recaptcha_v3":"recaptcha_v3","repeater":"repeater","shipping":"shipping","signature":"signature","spam":"spam","starrating":"starrating","submit":"submit","terms":"terms","textarea":"textarea","total":"total","turnstile":"turnstile","unknown":"unknown","zip":"zip","hr":"hr"},"calculations":{"html":"html","hidden":"hidden","note":"note","unknown":"unknown"}},"opinionated_styles":"light","filter_esc_status":"false","nf_consent_status_response":[]}; var nfInlineVars = []; //# sourceURL=nf-front-end-js-extra /* ]]> */ jQuery(document).ready(function($) { var title = $('.t-auto-close'), icon = $('.oxy-expand-collapse-icon'), expanded = $('.t-auto-close').attr('data-oxy-toggle-active-class'), content = $('.t-auto-close').next(); title.click(function(e) { e.stopPropagation(); content.not($(this).next(content)).hide(400); $(this).next(content).toggle(400); icon.not($(this).find(icon)).addClass('oxy-eci-collapsed'); $(this).find(icon).toggleClass('oxy-eci-collapsed'); title.not($(this)).removeClass(expanded); $(this).toggleClass(expanded); }); }); (function ($) { // Select all links with hashes $('a[href*="#"]') // Remove links that don't actually link to anything .not('[href="#"]') .not('[href="#0"]') .click(function (event) { // On-page links if ( location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname ) { // Figure out element to scroll to var target = $(this.hash); target = target.length ? target : $('[name=' + this.hash.slice(1) + ']'); // Does a scroll target exist? if (target.length) { // Only prevent default if animation is actually gonna happen event.preventDefault(); $('html, body').animate({ scrollTop: target.offset().top }, 1000, function () { // Callback after animation // Must change focus! var $target = $(target); $target.focus(); if ($target.is(":focus")) { // Checking if the target was focused return false; } else { $target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable $target.focus(); // Set focus again }; }); } } }); // Back to Top - by CodyHouse.co var backTop = document.getElementsByClassName('js-cd-top')[0], // browser window scroll (in pixels) after which the "back to top" link is shown offset = 300, //browser window scroll (in pixels) after which the "back to top" link opacity is reduced offsetOpacity = 1200, scrollDuration = 700 scrolling = false; if (backTop) { //update back to top visibility on scrolling window.addEventListener("scroll", function (event) { if (!scrolling) { scrolling = true; (!window.requestAnimationFrame) ? setTimeout(checkBackToTop, 250) : window.requestAnimationFrame(checkBackToTop); } }); //smooth scroll to top backTop.addEventListener('click', function (event) { event.preventDefault(); (!window.requestAnimationFrame) ? window.scrollTo(0, 0) : scrollTop(scrollDuration); }); } function checkBackToTop() { var windowTop = window.scrollY || document.documentElement.scrollTop; (windowTop > offset) ? addClass(backTop, 'cd-top--show') : removeClass(backTop, 'cd-top--show', 'cd-top--fade-out'); (windowTop > offsetOpacity) && addClass(backTop, 'cd-top--fade-out'); scrolling = false; } function scrollTop(duration) { var start = window.scrollY || document.documentElement.scrollTop, currentTime = null; var animateScroll = function (timestamp) { if (!currentTime) currentTime = timestamp; var progress = timestamp - currentTime; var val = Math.max(Math.easeInOutQuad(progress, start, -start, duration), 0); window.scrollTo(0, val); if (progress < duration) { window.requestAnimation } }; window.requestAnimationFrame(animateScroll); } Math.easeInOutQuad = function (t, b, c, d) { t /= d / 2; if (t < 1) return c / 2 * t * t + b; t--; return -c / 2 * (t * (t - 2) - 1) + b; }; //class manipulations - needed if classList is not supported function hasClass(el, className) { if (el.classList) return el.classList.contains(className); else return !!el.className.match(new RegExp('(\\s|^)' + className + '(\\s|$)')); } function addClass(el, className) { var classList = className.split(' '); if (el.classList) el.classList.add(classList[0]); else if (!hasClass(el, classList[0])) el.className += " " + classList[0]; if (classList.length > 1) addClass(el, classList.slice(1).join(' ')); } function removeClass(el, className) { var classList = className.split(' '); if (el.classList) el.classList.remove(classList[0]); else if (hasClass(el, classList[0])) { var reg = new RegExp('(\\s|^)' + classList[0] + '(\\s|$)'); el.className = el.className.replace(reg, ' '); } if (classList.length > 1) removeClass(el, classList.slice(1).join(' ')); } })(jQuery); //** Oxygen Composite Elements Settings Section **// //** Edit the variables below to change the behavior of the element. **// var scrollDistance = 300; // Set this to the scroll distance at which you want the button to appear. //** That's it, stop editing! **/ jQuery(document).ready( function() { // If we're in the builder, do not execute. var url_string = window.location.href; var url = new URL(url_string); var param = url.searchParams.get("ct_builder"); if( param ) { return; } jQuery('.oxel_back_to_top_container').addClass('oxel_back_to_top_container--hidden'); }) jQuery(window).on('scroll', function() { var topPos = jQuery(window).scrollTop(); if( topPos > scrollDistance ) { jQuery('.oxel_back_to_top_container').removeClass('oxel_back_to_top_container--hidden'); } else { jQuery('.oxel_back_to_top_container').addClass('oxel_back_to_top_container--hidden'); } }) .oxel_back_to_top_container--hidden { bottom: -64px; } <span id="nf-form-title-{{{ data.id }}}" class="nf-form-title"> {{{ ( 1 == data.settings.show_title ) ? '<h' + data.settings.form_title_heading_level + '>' + data.settings.title + '</h' + data.settings.form_title_heading_level + '>' : '' }}} </span> <div class="nf-form-wrap ninja-forms-form-wrap"> <div class="nf-response-msg"></div> <div class="nf-debug-msg"></div> <div class="nf-before-form"></div> <div class="nf-form-layout"></div> <div class="nf-after-form"></div> </div> {{{ data.beforeForm }}} {{{ data.afterForm }}} <div class="nf-form-fields-required">{{{ data.renderFieldsMarkedRequired() }}}</div> {{{ data.beforeFields }}} {{{ data.afterFields }}} <div id="nf-form-errors-{{{ data.id }}}" class="nf-form-errors" role="alert"></div> <div class="nf-form-hp"></div> {{{ data.beforeField }}} {{{ data.afterField }}} <form> <div> <div class="nf-before-form-content"></div> <div class="nf-form-content {{{ data.element_class }}}"></div> <div class="nf-after-form-content"></div> </div> </form> <label id="nf-label-field-hp-{{{ data.id }}}" for="nf-field-hp-{{{ data.id }}}" aria-hidden="true"> {{{ nfi18n.formHoneypot }}} <input id="nf-field-hp-{{{ data.id }}}" name="nf-field-hp" class="nf-element nf-field-hp" type="text" value="" aria-labelledby="nf-label-field-hp-{{{ data.id }}}" /> </label> <div id="nf-field-{{{ data.id }}}-container" class="nf-field-container {{{ data.type }}}-container {{{ data.renderContainerClass() }}}"> <div class="nf-before-field"></div> <div class="nf-field"></div> <div class="nf-after-field"></div> </div> {{{ data.beforeField }}} <# /* * Render our input limit section if that setting exists. */ #> <div class="nf-input-limit"></div> <# /* * Render our error section if we have an error. */ #> <div id="nf-error-{{{ data.id }}}" class="nf-error-wrap nf-error" role="alert" aria-live="assertive"></div> <# /* * Render any custom HTML after our field. */ #> {{{ data.afterField }}} <div id="nf-field-{{{ data.id }}}-wrap" class="{{{ data.renderWrapClass() }}}" data-field-id="{{{ data.id }}}"> <# /* * This is our main field template. It's called for every field type. * Note that must have ONE top-level, wrapping element. i.e. a div/span/etc that wraps all of the template. */ #> <# /* * Render our label. */ #> {{{ data.renderLabel() }}} <# /* * Render our field element. Uses the template for the field being rendered. */ #> <div class="nf-field-element">{{{ data.renderElement() }}}</div> <# /* * Render our Description Text. */ #> {{{ data.renderDescText() }}} </div> <div id="nf-field-{{{ data.id }}}-wrap" class="{{{ data.renderWrapClass() }}}" data-field-id="{{{ data.id }}}"> <div class="nf-field-label"></div> <div class="nf-field-element">{{{ data.renderElement() }}}</div> <div class="nf-error-wrap"></div> </div> {{{ data.renderElement() }}} <div class="nf-error-wrap"></div> <div class="nf-field-label"> <# if ( data.type === "listcheckbox" || data.type === "listradio" || data.type === "listimage" || data.type === "date" || data.type === "starrating" || data.type === "signature" || data.type === "html" || data.type === "hr" ) { #> <span id="nf-label-field-{{{ data.id }}}" class="nf-label-span {{{ data.renderLabelClasses() }}}"> {{{ ( data.maybeFilterHTML() === 'true' ) ? _.escape( data.label ) : data.label }}} {{{ ( 'undefined' != typeof data.required && 1 == data.required ) ? '<span class="ninja-forms-req-symbol">*</span>' : '' }}} {{{ data.maybeRenderHelp() }}} </span> <# } else { #> <label for="nf-field-{{{ data.id }}}" id="nf-label-field-{{{ data.id }}}" class="{{{ data.renderLabelClasses() }}}"> {{{ ( data.maybeFilterHTML() === 'true' ) ? _.escape( data.label ) : data.label }}} {{{ ( 'undefined' != typeof data.required && 1 == data.required ) ? '<span class="ninja-forms-req-symbol">*</span>' : '' }}} {{{ data.maybeRenderHelp() }}} </label> <# } #> </div> <div class="nf-error-msg nf-error-{{{ data.id }}}" aria-live="assertive">{{{ data.msg }}}</div> <div class="nf-error-msg nf-error-{{{ data.id }}}">{{{ data.msg }}}</div> {{{ data.currentCount() }}} {{{ nfi18n.of }}} {{{ data.input_limit }}} {{{ data.input_limit_msg }}} <input type="text" value="{{{ _.escape( data.value ) }}}" class="{{{ data.renderClasses() }}} nf-element" id="nf-field-{{{ data.id }}}" name="{{ data.custom_name_attribute || 'nf-field-' + data.id + '-' + data.type }}" {{{ data.maybeDisableAutocomplete() }}} {{{ data.renderPlaceholder() }}} aria-invalid="false" aria-describedby="<# if( data.desc_text ) { #>nf-description-{{{ data.id }}} <# } #>nf-error-{{{ data.id }}}" aria-labelledby="nf-label-field-{{{ data.id }}}" {{{ data.maybeRequired() }}} > <input id="nf-field-{{{ data.id }}}" name="nf-field-{{{ data.id }}}" aria-invalid="false" aria-describedby="<# if( data.desc_text ) { #>nf-description-{{{ data.id }}} <# } #>nf-error-{{{ data.id }}}" class="{{{ data.renderClasses() }}} nf-element" type="text" value="{{{ _.escape( data.value ) }}}" {{{ data.renderPlaceholder() }}} {{{ data.maybeDisabled() }}} aria-labelledby="nf-label-field-{{{ data.id }}}" {{{ data.maybeRequired() }}} > <input type="email" value="{{{ _.escape( data.value ) }}}" class="{{{ data.renderClasses() }}} nf-element" id="nf-field-{{{ data.id }}}" name="{{ data.custom_name_attribute || 'nf-field-' + data.id + '-' + data.type }}" {{{data.maybeDisableAutocomplete()}}} {{{ data.renderPlaceholder() }}} {{{ data.maybeDisabled() }}} aria-invalid="false" aria-describedby="<# if( data.desc_text ) { #>nf-description-{{{ data.id }}} <# } #>nf-error-{{{ data.id }}}" aria-labelledby="nf-label-field-{{{ data.id }}}" {{{ data.maybeRequired() }}} > <input type="tel" value="{{{ _.escape( data.value ) }}}" class="{{{ data.renderClasses() }}} nf-element" {{{ data.maybeDisabled() }}} id="nf-field-{{{ data.id }}}" name="{{ data.custom_name_attribute || 'nf-field-' + data.id + '-' + data.type }}" {{{ data.maybeDisableAutocomplete() }}} {{{ data.renderPlaceholder() }}} aria-invalid="false" aria-describedby="<# if( data.desc_text ) { #>nf-description-{{{ data.id }}} <# } #>nf-error-{{{ data.id }}}" aria-labelledby="nf-label-field-{{{ data.id }}}" {{{ data.maybeRequired() }}} > <input type="text" value="{{{ _.escape( data.value ) }}}" class="{{{ data.renderClasses() }}} nf-element" {{{ data.renderPlaceholder() }}} {{{ data.maybeDisabled() }}} {{{ data.maybeInputLimit() }}} id="nf-field-{{{ data.id }}}" name="{{ data.custom_name_attribute || 'nf-field-' + data.id + '-' + data.type }}" {{{ data.maybeDisableAutocomplete() }}} aria-invalid="false" aria-describedby="<# if( data.desc_text ) { #>nf-description-{{{ data.id }}} <# } #>nf-error-{{{ data.id }}}" aria-labelledby="nf-label-field-{{{ data.id }}}" {{{ data.maybeRequired() }}} > <select id="nf-field-{{{ data.id }}}" name="nf-field-{{{ data.id }}}" aria-invalid="false" aria-describedby="<# if( data.desc_text ) { #>nf-description-{{{ data.id }}} <# } #>nf-error-{{{ data.id }}}" class="{{{ data.renderClasses() }}} nf-element" {{{ data.renderOtherAttributes() }}} aria-labelledby="nf-label-field-{{{ data.id }}}" {{{ data.maybeRequired() }}} > {{{ data.renderOptions() }}} </select> <div for="nf-field-{{{ data.id }}}"></div> <# if ( ! data.visible ) { return ''; } #> <option value="{{{ data.value }}}" {{{ ( 1 == data.selected ) ? 'selected="selected"' : '' }}} >{{{ data.label }}}</option> <input type="text" value="{{{ _.escape( data.value ) }}}" class="{{{ data.renderClasses() }}} nf-element" id="nf-field-{{{ data.id }}}" name="{{ data.custom_name_attribute || 'nf-field-' + data.id + '-' + data.type }}" {{{ data.maybeDisableAutocomplete() }}} {{{ data.renderPlaceholder() }}} {{{ data.maybeDisabled() }}} aria-invalid="false" aria-describedby="<# if( data.desc_text ) { #>nf-description-{{{ data.id }}} <# } #>nf-error-{{{ data.id }}}" aria-labelledby="nf-label-field-{{{ data.id }}}" {{{ data.maybeRequired() }}} > <textarea id="nf-field-{{{ data.id }}}" name="nf-field-{{{ data.id }}}" aria-invalid="false" aria-describedby="<# if( data.desc_text ) { #>nf-description-{{{ data.id }}} <# } #>nf-error-{{{ data.id }}}" class="{{{ data.renderClasses() }}} nf-element" {{{ data.renderPlaceholder() }}} {{{ data.maybeDisabled() }}} {{{ data.maybeDisableAutocomplete() }}} {{{ data.maybeInputLimit() }}} aria-labelledby="nf-label-field-{{{ data.id }}}" {{{ data.maybeRequired() }}} >{{{ _.escape( data.value ) }}}</textarea> <span class="dashicons dashicons-admin-media"></span> <span class="dashicons dashicons-admin-links"></span> <span class="dashicons dashicons-editor-unlink"></span> <div class="summernote-link"> URL <input type="url" class="widefat code link-url"> <br /> Text <input type="url" class="widefat code link-text"> <br /> <label> <input type="checkbox" class="link-new-window"> {{{ nfi18n.fieldsTextareaOpenNewWindow }}} </label> <input type="button" class="cancel-link extra" value="Cancel"> <input type="button" class="insert-link extra" value="Insert"> </div> <input id="nf-field-{{{ data.id }}}" name="nf-field-{{{ data.id }}}" class="{{{ data.renderClasses() }}} nf-element" type="hidden" value="{{{ data.value }}}" /> <div class="g-recaptcha" data-callback="nf_recaptcha_response_{{{ data.id }}}" data-theme="{{{ data.theme }}}" data-sitekey="{{{ data.site_key }}}" data-fieldid="{{{ data.id }}}" {{{ ( "invisible" == data.size ) ? 'data-size="invisible"' : '' }}}></div> <# let myType = data.type if('save'== data.type){ myType = 'button' } #> <input id="nf-field-{{{ data.id }}}" class="{{{ data.renderClasses() }}} nf-element " type="{{{myType}}}" value="{{{ ( data.maybeFilterHTML() === 'true' ) ? _.escape( data.label ) : data.label }}}" {{{ ( data.disabled ) ? 'aria-disabled="true" disabled="true"' : '' }}}> <button id="nf-field-{{{ data.id }}}" name="nf-field-{{{ data.id }}}" class="{{{ data.classes }}} nf-element"> {{{ ( data.maybeFilterHTML() === 'true' ) ? _.escape( data.label ) : data.label }}} </button>