<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">/* ==================================================================== 
ermittelt aus der PLZ den Ort
(c)01/2024 fluSoft GbR, info@flusoft.de | 25.01.2024 
====================================================================== */ 
console.log("plz2town geladen");
function UStId(){
let chBx = document.querySelectorAll("input[name='checkbox-wieder']");
alert("Wert: "+chBx[0].value);
if (chBx[0].value == "Ja"){
  document.getElementById("ust_id").style.display="block";
} else {
  document.getElementById("ust_id").style.display="none";
 };
};

function Plz2Town(){
console.log("plz2town aufgerufen");
let str="";
let town="";
var oldtown = window.document.bform.Ort.value; 
  document.all.select_ort.innerHTML = '&lt;input class="formular kontakt" type="text" size="26" name="Ort" required title="Geben Sie bitte den Ortsnamen an!" value="'+oldtown+'"/&gt;';
  const xhr = new XMLHttpRequest();
  let land ="";
  if ((window.document.bform.Land.value.toUpperCase()=="DE") ||
	   (window.document.bform.Land.value.toUpperCase()=="D"))
		{ land="de";};
  if ((window.document.bform.Land.value.toUpperCase()=="AT") ||
	   (window.document.bform.Land.value.toUpperCase()=="A"))
         { land="at";};
  if (window.document.bform.Land.value.toUpperCase()=="CH"){ land="ch";};

  if ((land=="at") ||
      (land=="de") ||
      (land=="ch"))
     {
  var req = "https://openplzapi.org/"+land+"/Localities?postalCode="+window.document.bform.Plz.value;
  xhr.open("GET", req);
  xhr.send();
  xhr.responseType = "text";
  xhr.onload = () =&gt; {
    if (xhr.readyState == 4 &amp;&amp; xhr.status == 200) {
      var jdata = xhr.response;
      let data = JSON.parse(jdata);
      town = data[0].name;
	console.log("Anz: "+data.length);
	for (let i=0;i&lt;data.length;i++){
	      console.log("Stadt: "+data[i].name);
	};
     console.log("----------------------------");
     if (data.length == 1){ 
     console.log("nur ein Ort zur PLZ ");
      window.document.bform.Ort.value = town; 
     } else {
        console.log("anderes Element erzeugen");
        str="&lt;select name='Ort' class='kontakt' title='Bitte w&amp;auml;hlen Sie hier einen Ort aus!'&gt;";
	for (let i=0;i&lt;data.length;i++){
         if (oldtown == data[i].name)
 		 str=str+"&lt;option class='kontakt' value='"+data[i].name+"' selected&gt;"+data[i].name+"&lt;/option&gt;";
	   else  str=str+"&lt;option class='kontakt' value='"+data[i].name+"'&gt;"+data[i].name+"&lt;/option&gt;";
	};
	str=str +"&lt;/select&gt;";
        console.log("Element: "+str);
        document.all.select_ort.innerHTML = str;
     };
    } else {
       console.log(`Error: ${xhr.status}`);
    }
  };
 };
};

</pre></body></html>