JSFiddle - React, Tailwind, and code Playground
HTML
<table>
<tr><td><input type="text" id="p" placeholder="P (dBm)"></td><td><p id="pout"></p></td></tr>
<tr><td><input type="text" id="f" placeholder="F (MHz)"></td><td><p id="fout"></p></td></tr>
<tr><td><input type="text" id="g" placeholder="G (dB)"></td><td><p id="gout"></p></td></tr>
<tr><td><input type="button" id="calculate" value="calculate"></td></tr>
<tr><td><p id="eout"></p></td></tr>
<tr><td><p id="ppm"></p></td></tr>
<tr><td><p id="edb"></p></td></tr>
</table>
JavaScript
function calculate()
{
f = 299792458 / Number( $('#f').val() ) / 1000000;
p = 0.001 * Math.pow( 10, Number( $('#p').val() / 10 ) );
g = Math.pow( 10, Number( $('#g').val() / 10 ) );
// e = Math.sqrt( ( p * 4 * Math.PI * 377 ) / ( f * f * g ) );
e = Math.sqrt( ( p * 4 * Math.PI ) / ( f * f * 10 * g ) );
edb = 20 * Math.log10( e * 1000000 );
ppm = e * ( e / 377 ) / 10;
$( "#fout" ).html( f + " meters");
$( "#pout" ).html( p + " W");
$( "#gout" ).html( g + " times");
$( "#eout" ).html( e + " W/m");
$( "#edb" ).html( edb + " db (mkV/m)");
$( "#ppm" ).html( ppm + " mW/cm2");
}
$('#calculate').click( function() {
calculate();
});