JSFiddle - React, Tailwind, and code Playground
HTML
<body>
<div id="greeting"></div>
<p id="prompt1">Fill up sides A, B, then C, angles in degrees <strong>(Warning: does not test for amibiguous case)</strong></p>
<form id="form1" action="form_action.asp">
Side A: <input type="Number" name="sideA"><br>
Side B: <input type="Number" name="sideC"><br>
Side C: <input type="Number" name="sideC"><br>
Angle A: <input type="Number" name="angleA"><br>
Angle B: <input type="Number" name="angleB"><br>
Angle C: <input type="Number" name="angleC"><br>
<input type="button" onclick="init()" value="Submit"/>
</form>
<p id='test'></p>
</body>
JavaScript
function degToRad(num) {
if (num === undefined) { return; }
return Math.PI * num / 180;
}
function init() {
var text = document.querySelector("#form1");
sideA = text.elements[0].value;
sideB = text.elements[1].value;
sideC = text.elements[2].value;
angleA = degToRad(text.elements[3].value);
angleB = degToRad(text.elements[4].value);
angleC = degToRad(text.elements[5].value);
whatWeGot();
}
//determine which algorithm to go to and run it
function whatWeGot() {
if (!(angleA >0 && angleB >0 && angleC >0)) {
algSSS();
} else if (sideC === undefined && angleB === undefined && angleC === undefined) {
algSSA();
} else if (sideB === undefined && sideC === undefined) {
if (angleC === undefined) { angleC = Math.PI - (angleA + angleB); }
else if (angleB === undefined) { angleB = Math.PI - (angleA + angleB); }
else { angleA = Math.PI - (angleB + angleC); }
algASA();
}
}
function algSSS() {
document.getElementById('test').innerHTML = 'sss worked';
}