Centrally located in the heart of New York City’s fashionable NoMad neighborhood, our hotel on Broadway provides a perfect destination for those seeking urban exploration. Offering four-star service and recently renovated accommodations at reasonable rates, Broadway Plaza Hotel is an ideal affordable New York hotel. Learn more about our guest services, accommodations and surrounding area by contacting our New York City boutique hotel.
Broadway Plaza Hotel 1155 Broadway New York, New York 10001 Phone: (646) 513-2497 Toll-free:800-249-7135 Fax: (212) 679-7694 Email: reservations@broadwayplazahotel.com
- ", Math.trunc(a.size / 1024), " KB. ", f, " "); } this.parentElement.querySelector('.fileList').innerHTML += l.join(""); this.parentElement.querySelectorAll('.fileList .removeFile').forEach((removeFileBtn) => { removeFileBtn.addEventListener('click' , function(event){ if (event.target.classList.contains("removeFile")) { event.preventDefault(); var fileId = event.target.getAttribute("data-fileid"); for (var n = 0; n < fileData.length; ++n) { if (fileData[n].id === fileId) { fileData.splice(n, 1); break; } } event.target.parentElement.remove(); } }) }) }); } this.clear = function () { for (var t = fileData.length - 1; t >= 0; --t) { if (fileData[t].id.indexOf(fileIdPrefix) >= 0) { fileData.splice(t, 1); } } element.parentElement.querySelector('.fileList').innerHTML = ""; }; } let inputs = document.querySelectorAll('input[type="file"]'); let count = inputs.length; for (let e = 0; e < count; e++) { let input = inputs[e]; let t = input.getAttribute("name"); let l = t.replace("[]", ""); if (input.hasAttribute("multiple")) { fileUploader(document.querySelector(`[name="${l}"]`) , filesToUpload, t); } } } var isProcessingValidationForm = false; setTimeout( function(){ window.callbackFormValidate({ formElement: document.getElementById("frmContact"), rules: {"full_name":"required","email_address":{"required":true,"email":true},"phone":"required","message":"required"}, messages: {"full_name":"Please enter your name","email_address":"Please enter a valid email","phone":"Please enter your phone number","message":"Please enter message"}, submitHandler: function (form) { const buttonSubmit = document.querySelector('#frmContact [type=submit]'); if(buttonSubmit){ buttonSubmit.innerHTML = 'Processing'; buttonSubmit.classList.add('processing'); buttonSubmit.setAttribute("disabled", true); } if (isProcessingValidationForm) return false; isProcessingValidationForm = true; var dataForm = serializeDataToArray('frmContact'); var nameFormValue = undefined; if(document.getElementById(nameForm)){ nameFormValue = document.getElementById(nameForm).value; } if(document.querySelectorAll(`#frmContact input[type="file"]`).length>0 && nameFormValue !== undefined){ let file = [],type = [],nFile = null,count = 0,customFileValidation = false,format = null,countFiles =0,totalFiles =0; if(document.querySelector(`#frmContact input[type="file"]`).value.length>0){ countFiles = document.querySelectorAll(`#frmContact input[type="file"]`).length; for (let index = 0; index < countFiles; index++) { count = document.querySelectorAll('#frmContact input[type="file"]')[index].files.length; nFile = document.querySelector(`#frmContact input[type="file"]`).getAttribute('name').replace('[]',''); for(let i=0;i1){ nFile = []; document.querySelectorAll('#frmContact input[type="file"]').forEach((input)=>{ countFiles = fileInputs.files ? fileInputs.files.length : 0; for (let index = 0; index < countFiles; index++) { file.push(fileInputs.files[index]); type.push(fileInputs.files[index].type.split('/')[0]); nFile.push(fileInputs.name.replace('[]','')+'_'+index); totalFiles++; } }) } var length = totalFiles; var formData = new FormData(); for(let i=0;i { file.parentElement.querySelector('input[type="text"]').classList.add('error'); }); var format = (document.getElementById('customFileValidation'))? document.getElementById('customFileValidation').value.split('||')[1]:null; var validationText = "Invalid file"; switch(format){ case "1": validationText = "Please upload a PDF file"; break; } document.querySelectorAll('#frmContact input[type="file"]').forEach((file) => { file.parentElement.insertAdjacentHTML('afterbegin' , ""+validationText+" "); }); if(document.querySelector('#frmContact [type=submit]')){ document.querySelector('#frmContact [type=submit]').innerHTML = inputTextfrmContact; document.querySelector('#frmContact [type=submit]').classList.remove('processing'); document.querySelector('#frmContact [type=submit]').removeAttribute('disabled'); } isProcessingValidationForm = false; return false; }else{ document.querySelectorAll('#frmContact input[type="file"]').forEach((file) => { file.parentElement.querySelector('input[type="text"]').classList.remove('error'); if(file.parentElement.querySelector('label.error')){ file.parentElement.querySelector('label.error').remove(); } }); if(Array.isArray(nFile)){ for(let i=0;i { formData.append(input.name , input.value); }); fetch(site_url + '/ajax/functions.php', { method: 'POST', body: formData }) .then(response => response.json()) .then(data => { let formId = document.getElementById('frmContact').value; let errMsgVar = '#errMsg-frmContact'; if (data.error) { if(formId==undefined) { errMsgVar = '.errorMsg'; } document.querySelector(errMsgVar).innerHTML = data.msg; fadeIn(document.querySelector(errMsgVar)); if(data.data){ const formError = document.querySelector('#frmContact'); const fields = formError.querySelectorAll('input, select, textarea'); errorFields = data.data; errorFields.forEach(errorField => { const filteredFields = Array.from(fields).filter(field => field.name.includes(errorField.field)); filteredFields.forEach(field => { const parentElement = field.parentElement; /** Remove existing error */ const errorElement = parentElement.querySelector('.error'); if (errorElement) { errorElement.remove(); } /** Add new error */ const errorLabel = document.createElement('label'); errorLabel.textContent = errorField.error; errorLabel.className = 'error'; errorLabel.id = '_' + field.name + '-error'; errorLabel.setAttribute('for', field.name); parentElement.appendChild(errorLabel); }); }) } window.scrollTo({ top: document.querySelector(errMsgVar).getBoundingClientRect().top + window.scrollY - 20 , behavior: "smooth" }); } else { window.scrollTo({ top: document.getElementById("frmContact").getBoundingClientRect().top + window.scrollY - 300, behavior: "smooth" }); slideUp(document.getElementById("frmContact") , 800 , function (element) { if( findClosest(element) ){ if(findClosest(element).querySelector('.thankyouMsg')){ fadeIn(findClosest(element).querySelector('.thankyouMsg')); } } if (IS_LIVE) { if(typeof (ga) == "function") { ga('send', 'event', 'form', 'form submission', 'Contact Form'); } if( typeof dataLayer != 'undefined' && typeof dataLayer.push != 'undefined') { dataLayer.push({ 'event': 'forms', 'form_name': 'Contact Form', 'form_id': 'frmContact' }); } } }); } }) .finally(() => { isProcessingValidationForm = false; if(document.querySelector('#frmContact [type=submit]')){ document.querySelector('#frmContact [type=submit]').innerHTML = inputTextfrmContact; document.querySelector('#frmContact [type=submit]').classList.remove('processing'); document.querySelector('#frmContact [type=submit]').removeAttribute('disabled'); } }); return isProcessingValidationForm; } function serializeDataToArray(idForm){ const serializeDataArray = []; const formData = new FormData(document.getElementById(idForm)); formData.forEach(function(value, key) { serializeDataArray.push({ name: key, value: value }); }); return serializeDataArray } function findClosest(element) { return element.parentElement; } function fadeIn(element) { element.style.opacity = 0; element.style.display = 'block'; let opacity = 0; const interval = setInterval(function () { if (opacity < 1) { opacity += 0.05; element.style.opacity = opacity; } else { clearInterval(interval); } }, 50); } function slideUp(element, duration , callback) { element.style.transitionProperty = 'height, margin, padding'; element.style.transitionDuration = duration + 'ms'; element.style.boxSizing = 'border-box'; element.style.height = element.offsetHeight + 'px'; element.offsetHeight; element.style.overflow = 'hidden'; element.style.height = 0; element.style.paddingTop = 0; element.style.paddingBottom = 0; element.style.marginTop = 0; element.style.marginBottom = 0; setTimeout(function() { element.style.display = 'none'; element.style.removeProperty('height'); element.style.removeProperty('padding-top'); element.style.removeProperty('padding-bottom'); element.style.removeProperty('margin-top'); element.style.removeProperty('margin-bottom'); element.style.removeProperty('overflow'); element.style.removeProperty('transition-duration'); element.style.removeProperty('transition-property'); if(typeof callback === 'function'){ callback(element); } }, duration); } });