a.addEventListener('input', function(){
b.value = this.value
})
b.addEventListener('input', function(){
a.value = this.value
})
let str = document.querySelector('form textarea[name="content"]').value
let xml = `<?xml version="1.0" ?><root>${str}<root></xml>` // добавляем заголовок и root
let blob = new Blob([xml], {type: "text/xml"}), // формируем файл
url = window.URL.createObjectURL(blob);
let a = document.createElement("a");
a.style.display = 'none' // скрытая ссылка
a.href = url
document.body.appendChild(a)
a.download = 'myXML.xml';
a.click()
window.URL.revokeObjectURL(url); // файл можно удалить
a.remove() // ссылку тоже
if(isset($foo) && $foo)
можно проверять if (!empty($foo))style.width = 300
нужно style.width = 300 + 'px';
let startTime = new Date().getTime();
// здесь тяжелые вычисления
// ...
let endTime = new Date().getTime();
console.log(`расчеты поребовали ${endTime - startTime} миллисекунд`)