Error executing template "Designs/Swift/UserManagement/CreateProfile/CreateAccount.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_20aed0d1fb7c4b6bbab6c19be0b0e0fd.Execute() in D:\dynamicweb.net\Solutions\Novicell\klinger.cloud.dynamicweb-cms.com\Files\Templates\Designs\Swift\UserManagement\CreateProfile\CreateAccount.cshtml:line 116
   at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineService.RunCompile(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass16_0.<RunCompile>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template)
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template)
   at Dynamicweb.Rendering.Template.RenderRazorTemplate()

1 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 2 3 @{ 4 string pageTitle = Pageview.Page.GetDisplayName(); 5 string pageId = GetGlobalValue("Global:Page.ID"); 6 int signInPageId = Dynamicweb.Services.Pages.GetPageByNavigationTag(Pageview.Area.ID, "SignInPage").ID; 7 string singInPageUrl = Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(signInPageId); 8 string invalidName = !string.IsNullOrEmpty(GetString("UserManagement:User.Name.Input.Error")) ? "is-invalid" : ""; 9 string invalidEmail = !string.IsNullOrEmpty(GetString("UserManagement:User.Email.Input.Error")) ? "is-invalid" : ""; 10 string invalidCompanyName = !string.IsNullOrEmpty(GetString("UserManagement:User.Company.Input.Error")) ? "is-invalid" : ""; 11 string invalidVat = !string.IsNullOrEmpty(GetString("UserManagement:User.VatRegNumber.Input.Error")) ? "is-invalid" : ""; 12 string invalidPassword = !string.IsNullOrEmpty(GetString("UserManagement:User.NewPassword.Input.Error")) ? "is-invalid" : ""; 13 string invalidConfirmPassword = !string.IsNullOrEmpty(GetString("UserManagement:User.NewPasswordConfirm.Input.Error")) ? "is-invalid" : ""; 14 string invalidIndustrialSector = !string.IsNullOrEmpty(GetString("UserManagement:User.IndustrialSector.Input.Error")) ? "is-invalid" : ""; 15 string invalidJobTitle = !string.IsNullOrEmpty(GetString("UserManagement:User.JobTitle.Input.Error")) ? "is-invalid" : ""; 16 string invalidPhone = !string.IsNullOrEmpty(GetString("UserManagement:User.Phone.Input.Error")) ? "is-invalid" : ""; 17 string invalidConsent = !string.IsNullOrEmpty(GetString("UserManagement:User.Consent.Input.Error")) ? "is-invalid" : ""; 18 string invalidEmailAllowed = !string.IsNullOrEmpty(GetString("UserManagement:User.EmailAllowed.Input.Error")) ? "is-invalid" : ""; 19 20 string contentPadding = Pageview.CurrentParagraph.Item["ContentPadding"] != null ? Pageview.CurrentParagraph.Item["ContentPadding"].ToString() : ""; 21 contentPadding = contentPadding == "none" ? "px-0" : contentPadding; 22 contentPadding = contentPadding == "small" ? "p-2 p-md-3" : contentPadding; 23 contentPadding = contentPadding == "large" ? "p-4 p-md-5" : contentPadding; 24 var themeRaw = Pageview.CurrentParagraph.Item["Theme"]?.ToString(); 25 string theme = !string.IsNullOrEmpty(themeRaw) ? " theme " + themeRaw.Replace(" ", "").Trim().ToLower() : " theme light"; 26 } 27 28 <div class="@(contentPadding)"> 29 30 @foreach (var error in GetLoop("FormValidationErrors")) 31 { 32 <div class="alert alert-danger mb-3" role="alert"> 33 @error.GetString("UserManagement:User.FormValidationError.Message") 34 </div> 35 } 36 37 @if (!String.IsNullOrEmpty(GetString("error"))) 38 { 39 <div class="alert alert-danger mb-5" role="alert"> 40 @GetString("error") 41 </div> 42 } 43 44 <div class="card border-0@(theme) mx-auto" style="max-width: 30rem;"> 45 46 <div class="card-header text-center p-4 border-bottom"> 47 <h4 class="display-6 m-0">@pageTitle</h4> 48 @if (!string.IsNullOrEmpty(singInPageUrl)) 49 { 50 <p class="card-text mt-2"> 51 @Translate("Already have an account?") <a href="@singInPageUrl">@Translate("Sign in here")</a> 52 </p> 53 } 54 </div> 55 56 <div class="card-body p-4"> 57 58 @GetString("UserManagement:User.FormStart") 59 <input type="hidden" name="UserManagementForm" value="1"> 60 <div class="grid grid-1 gap-4"> 61 62 <div> 63 <label class="form-label fs-7 mb-0 opacity-75" for="UserManagement_Form_Company">@Translate("Your Company")</label> 64 <div class="form-floating"> 65 <input type="text" class="form-control @invalidCompanyName" placeholder="@Translate("Company")" name="UserManagement_Form_Company" id="UserManagement_Form_Company" value="@GetString("UserManagement:User.Company")" required /> 66 <div class="invalid-feedback">@GetString("UserManagement:User.Company.Input.Error")</div> 67 <label for="UserManagement_Form_Company" class="form-label">@Translate("Company")</label> 68 </div> 69 </div> 70 <div> 71 <label class="form-label fs-7 mb-0 opacity-75" for="UserManagement_Form_IndustrialSector">@Translate("Your Industrial Sector")</label> 72 73 <div class="form-floating"> 74 @GetString("UserManagement:User.CustomField.AccessUser_IndustrialSector.Input").Replace("select", "select class=\"form-control\" placeholder=\"IndustrialSector\"") 75 <input type="hidden" class="form-control @invalidIndustrialSector" name="UserManagement_Form_IndustrialSector" id="UserManagement_Form_IndustrialSector" value="@GetString("UserManagement:User.CustomField.AccessUser_IndustrialSector")" /> 76 <div class="invalid-feedback">@GetString("UserManagement:User.CustomField.AccessUser_IndustrialSector.Input.Error")</div> 77 <label for="UserManagement_Form_IndustrialSector" class="form-label">@Translate("Industrial Sector")</label> 78 </div> 79 </div> 80 81 <div> 82 <label class="form-label fs-7 mb-0 opacity-75" for="UserManagement_Form_VatRegNumber">@Translate("Your Vat Number")</label> 83 <div class="form-floating"> 84 <input type="text" class="form-control @invalidVat" placeholder="@Translate("VatNumber")" name="UserManagement_Form_VatRegNumber" id="UserManagement_Form_VatRegNumber" value="@GetString("UserManagement:User.VatRegNumber")" required /> 85 <div class="invalid-feedback">@GetString("UserManagement:User.VatRegNumber.Input.Error")</div> 86 <label for="UserManagement_Form_VatRegNumber" class="form-label">@Translate("VatNumber")</label> 87 </div> 88 </div> 89 <div> 90 <label class="form-label fs-7 mb-0 opacity-75" for="UserManagement_Form_Name">@Translate("Your name")</label> 91 <div class="form-floating"> 92 <input type="text" class="form-control @invalidName" placeholder="@Translate("Name")" name="UserManagement_Form_Name" id="UserManagement_Form_Name" value="@GetString("UserManagement:User.Name")" required /> 93 <div class="invalid-feedback">@GetString("UserManagement:User.Name.Input.Error")</div> 94 <label for="UserManagement_Form_Name" class="form-label">@Translate("Name")</label> 95 </div> 96 </div> 97 <div> 98 <label class="form-label fs-7 mb-0 opacity-75" for="UserManagement_Form_JobTitle">@Translate("Your Job Title")</label> 99 <div class="form-floating"> 100 <input type="text" class="form-control @invalidJobTitle" placeholder="@Translate("Job Title")" name="UserManagement_Form_JobTitle" id="UserManagement_Form_JobTitle" value="@GetString("UserManagement:User.JobTitle")" required /> 101 <div class="invalid-feedback">@GetString("UserManagement:User.JobTitle.Input.Error")</div> 102 <label for="UserManagement_Form_JobTitle" class="form-label">@Translate("JobTitle")</label> 103 </div> 104 </div> 105 <div> 106 <label class="form-label fs-7 mb-0 opacity-75" for="UserManagement_Form_Phone">@Translate("Your Phone")</label> 107 <div class="form-floating"> 108 <input type="text" class="form-control @invalidPhone" placeholder="@Translate("Phone")" name="UserManagement_Form_Phone" id="UserManagement_Form_Phone" value="@GetString("UserManagement:User.Phone")" /> 109 <div class="invalid-feedback">@GetString("UserManagement:User.Phone.Input.Error")</div> 110 <label for="UserManagement_Form_Phone" class="form-label">@Translate("Phone")</label> 111 </div> 112 </div> 113 114 <!-- ADDRESS --> 115 @{ 116 var languageId = Pageview.Area.Languages.FirstOrDefault(i => i.Active).EcomLanguageId; 117 var currentCountry = !string.IsNullOrEmpty(GetString("UserManagement:User.UserAddress.CountryCode.Value")) ? GetString("UserManagement:User.UserAddress.CountryCode.Value") : Pageview.Area.EcomCountryCode; 118 119 var communityCode = GetString("UserManagement:User.UserAddress.AccessUserAddress_Autonomous_Community"); 120 var regions = Klinger.Website.Infrastructure.Services.CountryService.Instance.GetStates(currentCountry, communityCode, languageId); 121 122 var regionLabel = "State"; 123 124 var userId = 0; 125 } 126 127 <div> 128 <label class="form-label fs-7 mb-0 opacity-75" for="UserManagement_Form_Address">@Translate("Street & number")</label> 129 <div class="form-floating"> 130 <input type="text" class="form-control" placeholder="@Translate("Street & number")" id="UserManagement_Form_Address" name="UserManagement_Form_Address" value="@GetString("UserManagement:User.UserAddress.Address.Value")" required /> 131 <div class="invalid-feedback">@GetString("UserManagement:User.UserAddress.Address.Input.Error")</div> 132 <label for="UserManagement_Form_Address" class="form-label">@Translate("Street & number")</label> 133 </div> 134 </div> 135 136 <div> 137 <label class="form-label fs-7 mb-0 opacity-75" for="UserManagement_Form_CountryCode">@Translate("Country")</label> 138 <div class="form-floating"> 139 <select class="form-select" id="UserManagement_Form_CountryCode" name="UserManagement_Form_CountryCode"> 140 <option selected>@Translate("Select country")</option> 141 @foreach (var country in GetLoop("UserManagement.CountryList")) 142 { 143 var selected = country.GetString("Country.Code2") == currentCountry ? "selected" : ""; 144 <option value="@country.GetString("Country.Code2")" @selected>@country.GetString("Country.Name")</option> 145 } 146 </select> 147 <label for="UserManagement_Form_CountryCode" class="form-label">@Translate("Country")</label> 148 </div> 149 </div> 150 151 <div> 152 <label class="form-label fs-7 mb-0 opacity-75" for="UserManagement_Form_Zip">@Translate("Zip")</label> 153 <div class="form-floating"> 154 <input type="text" class="form-control" placeholder="@Translate("Zip")" id="UserManagement_Form_Zip" name="UserManagement_Form_Zip" value="@GetString("UserManagement:User.UserAddress.Zip.Value")" required /> 155 <div class="invalid-feedback">@GetString("UserManagement:User.UserAddress.Zip.Input.Error")</div> 156 <label for="UserManagement_Form_Zip" class="form-label">@Translate("Zip code")</label> 157 </div> 158 </div> 159 160 <div> 161 <label class="form-label fs-7 mb-0 opacity-75" for="UserManagement_Form_City">@Translate("Town / City")</label> 162 <div class="form-floating"> 163 <input type="text" class="form-control" placeholder="@Translate("Town / City")" id="UserManagement_Form_City" name="UserManagement_Form_City" value="@GetString("UserManagement:User.UserAddress.City.Value")" required /> 164 <div class="invalid-feedback">@GetString("UserManagement:User.UserAddress.City.Input.Error")</div> 165 <label for="UserManagement_Form_City" class="form-label">@Translate("Town / City")</label> 166 </div> 167 </div> 168 169 @switch (currentCountry) 170 { 171 case "CA": 172 regionLabel = Translate("Province"); 173 break; 174 case "GB": 175 case "ES": 176 regionLabel = Translate("Region"); 177 break; 178 case "US": 179 regionLabel = Translate("State"); 180 break; 181 default: 182 regionLabel = Translate("State"); 183 break; 184 } 185 186 @{ 187 var hasCommunities = Klinger.Website.Infrastructure.Services.CountryService.Instance.HasRegions(currentCountry); 188 } 189 <div id="CommunityContainer" style="display: @(hasCommunities?"block":"none")"> 190 <label class="form-label fs-7 mb-0 opacity-75" for="CustomField.AccessUserAddress_AccessUserAddress_Autonomous_Community">@Translate("Autonomous Community")</label> 191 <div class="form-floating"> 192 193 <select class="form-select" id="SpanishRegionSelect" onchange="handleRegionChange()"> 194 <option value="">@Translate("Select autonomous community")</option> 195 @if (hasCommunities) 196 { 197 var communities = Klinger.Website.Infrastructure.Services.CountryService.Instance.GetRegions(0, languageId); 198 foreach (var community in communities) 199 { 200 var selected = community.Key.Equals(communityCode) ? "selected=\"selected\"" : ""; 201 <option value="@community.Key" @selected>@community.Value</option> 202 } 203 } 204 </select> 205 <label for="CustomField.AccessUserAddress_AccessUserAddress_Autonomous_Community">@Translate("Autonomous Community")</label> 206 <input type="hidden" name="CustomField.AccessUser_AccessUser_Autonomous_Community" id="CustomField.AccessUser_AccessUser_Autonomous_Community" value="@communityCode" /> 207 </div> 208 </div> 209 210 @{ 211 var hasStates = regions != null && regions.Any(); 212 } 213 <div id="StateContainer" style="display: @(hasStates?"block":"none")"> 214 <label class="form-label fs-7 mb-0 opacity-75" for="UserManagement_Form_State">@Translate("Region")</label> 215 <div class="form-floating"> 216 @{ 217 var regionCode = GetString("UserManagement:User.UserAddress.State.Value"); 218 219 <select class="form-select" id="SpanishStateSelect" onchange="handleStateChange()"> 220 <option value="">@Translate("Select region")</option> 221 @foreach (var region in regions) 222 { 223 var selected = region.Key == regionCode ? "selected" : ""; 224 <option value="@region.Key" @selected>@region.Value</option> 225 } 226 </select> 227 } 228 <label for="UserManagement_Form_State">@regionLabel</label> 229 @if (regions.ContainsKey(regionCode)) 230 { 231 <input type="hidden" name="UserManagement_Form_State" id="UserManagement_Form_State" value="@regionCode" /> 232 } 233 else 234 { 235 <input type="hidden" name="UserManagement_Form_State" id="UserManagement_Form_State" /> 236 } 237 </div> 238 </div> 239 240 <div> 241 <label class="form-label fs-7 mb-0 opacity-75" for="UserManagement_Form_Email">@Translate("Your email")</label> 242 <div class="form-floating"> 243 <input type="email" class="form-control @invalidEmail" placeholder="@Translate("Email")" name="UserManagement_Form_Email" id="UserManagement_Form_Email" value="@GetString("UserManagement:User.Email")" required /> 244 <div class="invalid-feedback">@GetString("UserManagement:User.Email.Input.Error")</div> 245 <label for="UserManagement_Form_Email" class="form-label">@Translate("Email")</label> 246 </div> 247 </div> 248 <div> 249 <label class="form-label fs-7 mb-0 opacity-75" for="UserManagement_Form_NewPassword">@Translate("Password")</label> 250 <div class="form-floating"> 251 <input class="form-control @invalidPassword" placeholder="@Translate("Password")" type="password" id="UserManagement_Form_NewPassword" name="UserManagement_Form_NewPassword" value="" autocomplete="off" required> 252 <div class="invalid-feedback">@GetString("UserManagement:User.NewPassword.Input.Error")</div> 253 <label for="UserManagement_Form_NewPassword" class="form-label">@Translate("Password")</label> 254 </div> 255 </div> 256 <div> 257 <label class="form-label fs-7 mb-0 opacity-75" for="UserManagement_Form_NewPasswordConfirm">@Translate("Confirm password")</label> 258 <div class="form-floating"> 259 <input class="form-control @invalidConfirmPassword" placeholder="@Translate("Confirm password")" type="password" id="UserManagement_Form_NewPasswordConfirm" name="UserManagement_Form_NewPasswordConfirm" value="" autocomplete="off" required> 260 <div class="invalid-feedback">@GetString("UserManagement:User.NewPasswordConfirm.Input.Error")</div> 261 <label for="UserManagement_Form_NewPasswordConfirm" class="form-label">@Translate("Confirm password")</label> 262 </div> 263 </div> 264 <div> 265 <div class="form-check"> 266 <input type="checkbox" class="form-check-input @invalidConsent" name="UserManagement_Form_Consent" id="UserManagement_Form_Consent" value="@GetString("UserManagement:User.Consent")" required /> 267 <input type="hidden" class="form-control" name="UserManagement_Form_Consent" id="UserManagement_Form_Consent" value="@GetString("UserManagement:User.Consent")" /> 268 <div class="invalid-feedback">@GetString("UserManagement:User.Consent.Input.Error")</div> 269 <label for="UserManagement_Form_Consent" class="form-check-label">@Translate("GDPR Consent")</label> 270 </div> 271 </div> 272 <div> 273 <div class="form-check"> 274 <input type="checkbox" class="form-check-input @invalidEmailAllowed" name="UserManagement_Form_EmailAllowed" id="UserManagement_Form_EmailAllowed" value="@GetString("UserManagement:User.EmailAllowed")" /> 275 <input type="hidden" class="form-control" name="UserManagement_Form_EmailAllowed" id="UserManagement_Form_EmailAllowed" value="@GetString("UserManagement:User.EmailAllowed")" /> 276 <label for="UserManagement_Form_EmailAllowed" class="form-check-label">@Translate("Email Allowed")</label> 277 </div> 278 </div> 279 280 <button type="submit" class="btn btn-primary btn-lg" id="CreateNewAccountButton">@Translate("Create your new account")</button> 281 </div> 282 @GetString("UserManagement:User.FormEnd") 283 284 </div> 285 </div> 286 </div> 287 288 <script> 289 // declarations 290 var dwCountryCode = "@currentCountry"; 291 var dwUserId = "@userId"; 292 var dwLanguageId = "@languageId"; 293 var stateElement = document.getElementById("SpanishStateSelect"); 294 var regionElement = document.getElementById("SpanishRegionSelect"); 295 var stateHiddenElement = document.getElementById("UserManagement_Form_State"); 296 var regionHiddenElement = document.getElementById("CustomField.AccessUser_AccessUser_Autonomous_Community"); 297 var communityContainer = document.getElementById("CommunityContainer"); 298 var stateContainer = document.getElementById("StateContainer"); 299 var dwStateLabel = "@Translate("Select region")"; 300 var dwRegionLabel = "@Translate("Select autonomous community")"; 301 var selectedZip = document.getElementById("UserManagement_Form_Zip"); 302 303 if (!dwCountryCode || dwCountryCode.length == 0) { 304 dwCountryCode = document.getElementById("UserManagement_Form_CountryCode"); 305 } 306 307 function handleStateChange() { 308 let labelText = ''; 309 for (let i = 0; i < stateElement.options.length; i++) { 310 if (stateElement.options[i].value === stateElement.value) { 311 labelText = stateElement.options[i].text; 312 break; 313 } 314 } 315 316 stateHiddenElement.value = labelText; 317 } 318 319 function handleRegionChange() { 320 let labelText = ''; 321 for (let i = 0; i < regionElement.options.length; i++) { 322 if (regionElement.options[i].value === regionElement.value) { 323 labelText = regionElement.options[i].text; 324 break; 325 } 326 } 327 regionHiddenElement.text = regionElement.value; 328 regionHiddenElement.value = labelText; 329 330 stateHiddenElement.value = ""; 331 var selectedCountry = document.getElementById("UserManagement_Form_CountryCode").value; 332 updateStatesSelect(selectedCountry); 333 } 334 335 async function handleRegionChangeWithState(code) { 336 let labelRegionText = ''; 337 for (let i = 0; i < regionElement.options.length; i++) { 338 if (regionElement.options[i].value === regionElement.value) { 339 labelRegionText = regionElement.options[i].text; 340 break; 341 } 342 } 343 regionHiddenElement.text = regionElement.value; 344 regionHiddenElement.value = labelRegionText; 345 346 var selectedCountry = document.getElementById("UserManagement_Form_CountryCode").value; 347 await updateStatesSelect(selectedCountry, code); 348 349 let labelText = ''; 350 for (let i = 0; i < stateElement.options.length; i++) { 351 if (stateElement.options[i].value === code) { 352 labelText = stateElement.options[i].text; 353 break; 354 } 355 } 356 stateHiddenElement.value = labelText; 357 } 358 359 function handleCountryChange() { 360 var selectedCountry = document.getElementById("UserManagement_Form_CountryCode").value; 361 362 toggleCountry(selectedCountry); 363 } 364 365 function handleZip() { 366 var selectedCountry = document.getElementById("UserManagement_Form_CountryCode").value; 367 var formZip = document.getElementById("UserManagement_Form_Zip").value; 368 369 if (formZip && formZip.length == 5) { 370 updateCitySelect(selectedCountry, formZip); 371 } 372 } 373 374 function toggleCountry(country) { 375 stateHiddenElement.value = ""; 376 regionHiddenElement.value = ""; 377 378 updateStatesSelect(country); 379 updateRegionSelect(country); 380 } 381 382 async function updateStatesSelect(country, selected) { 383 try { 384 const response = await fetch(`/api/country/states?country=${country}&region=${regionHiddenElement.text}&language=${dwLanguageId}`); 385 386 if (!response.ok) { 387 throw new Error(`Request failed. Returned status of ${response.status}`); 388 } 389 390 const data = await response.json(); 391 const select = document.getElementById('SpanishStateSelect'); 392 393 if (data && Object.keys(data).length > 0) { 394 // Clear existing options 395 select.innerHTML = ''; 396 397 // Add an empty option as the default 398 const defaultOption = document.createElement('option'); 399 defaultOption.value = ''; 400 defaultOption.textContent = dwStateLabel; // Or any placeholder text you prefer 401 select.appendChild(defaultOption); 402 403 // Add new options from the response 404 for (const key in data) { 405 const option = document.createElement('option'); 406 option.value = key; 407 option.textContent = data[key]; 408 if (selected && selected.length && selected == key) { 409 option.selected = true; 410 } 411 412 select.appendChild(option); 413 } 414 415 // Display the select element 416 stateContainer.style.display = 'block'; 417 } else { 418 // Hide the select element if response is null or empty 419 stateContainer.style.display = 'none'; 420 } 421 } catch (error) { 422 console.error('Request error:', error); 423 stateContainer.style.display = 'none'; 424 } 425 } 426 427 function updateRegionSelect(country) { 428 var xhr = new XMLHttpRequest(); 429 xhr.open('GET', '/api/country/regions?user=' + dwUserId +'&country=' + country + '&language=' + dwLanguageId, true); 430 431 xhr.onload = function () { 432 var select = document.getElementById('SpanishRegionSelect'); 433 434 if (xhr.status === 200) { 435 var response = JSON.parse(xhr.responseText); 436 437 if (response && Object.keys(response).length > 0) { 438 // Clear existing options 439 select.innerHTML = ''; 440 441 // Add an empty option as the default 442 var defaultOption = document.createElement('option'); 443 defaultOption.value = ''; 444 defaultOption.textContent = dwRegionLabel; // Or any placeholder text you prefer 445 select.appendChild(defaultOption); 446 447 // Add new options from the response 448 for (var key in response) { 449 var option = document.createElement('option'); 450 option.value = key; 451 option.textContent = response[key]; 452 select.appendChild(option); 453 } 454 455 // Display the select element 456 communityContainer.style.display = 'block'; 457 } else { 458 // Hide the select element if response is null or empty 459 communityContainer.style.display = 'none'; 460 } 461 } else { 462 console.error('Request failed. Returned status of ' + xhr.status); 463 communityContainer.style.display = 'none'; 464 } 465 }; 466 467 xhr.onerror = function () { 468 console.error('Request error.'); 469 stateContainer.style.display = 'none'; 470 }; 471 472 xhr.send(); 473 } 474 475 function updateCitySelect(country, code) { 476 var xhr = new XMLHttpRequest(); 477 xhr.open('GET', '/api/country/location?country=' + country + '&code=' + code, true); 478 479 xhr.onload = function () { 480 if (xhr.status === 200) { 481 var response = JSON.parse(xhr.responseText); 482 483 if (response && Object.keys(response).length > 0) { 484 485 if (response.Success) { 486 selectedZip.value = code; 487 regionElement.value = response.RegionCode; 488 handleRegionChangeWithState(response.StateCode); 489 490 if (response.PostalCodeName.length && response.PostalCodeName.length > 0) { 491 document.getElementById("UserManagement_Form_City").value = response.PostalCodeName; 492 } 493 } 494 } 495 else { 496 497 } 498 } 499 else { 500 console.error('Request failed. Returned status of ' + xhr.status); 501 } 502 }; 503 504 xhr.onerror = function () { 505 console.error('Request error.'); 506 stateContainer.style.display = 'none'; 507 }; 508 509 xhr.send(); 510 } 511 512 function submitForm() { 513 document.querySelector("#UserManagement_Form_State").value = ""; 514 var form = document.querySelector("#AddressForm"); 515 UserManagement_Form_State 516 form.requestSubmit(); 517 } 518 519 // event handlers 520 document.getElementById("UserManagement_Form_CountryCode").onchange = handleCountryChange; 521 document.addEventListener("DOMContentLoaded", function () { 522 var zipInput = document.getElementById("UserManagement_Form_Zip"); 523 524 zipInput.addEventListener("input", handleZip); 525 }); 526 </script>
By clicking 'Accept All' you consent that we may collect information about you for various purposes, including: Functionality, Statistics and Marketing