const useCapture = true; // capture, bubbling: false button = document.getElementsByTagName('button')[0]; button.addEventListener('click',hashcash,false); button.addEventListener('submit',hashcash,false); console.log(button) function hashcash(ev) { console.log('hashcash.ev: %o',ev); let algo = document.getElementsByName('algo')[0].value; let data = document.getElementsByName('data')[0].value; let nonce = document.getElementsByName('nonce')[0].value || '12131054600136590020'; let dif = document.getElementsByName('dif')[0].value; let url = api_url + `hashcash?a=${algo}&b=${data}&n=${nonce}&d=${dif}` document.getElementById('pow').innerText = 'no-proof'; let promised = fetch(url). then(resp => resp.json()). then(obj => { console.log('pow.hashcash.obj:',obj); document.getElementsByName('hashcash')[0].innerText = '0x'+obj.hash; document.getElementsId('pow').innerText = obj.pow; }). catch(console.error); } let url = api_url + 'config'; let promised = fetch(url). then(resp => resp.json()). then(obj => { console.log('pow.obj.config:',obj.config); let dif = obj.config.difficulty console.log('pow.dif:',dif); let elem = document.getElementById('dif'); elem.innerText = dif; //let buf = elem.innerHTML; buf = buf.replace(':dif',dif); elem.innerHTML = buf; elem = document.getElementsByName('dif')[0]; elem.value = dif; return obj.config }). catch(console.error)