This script will factor and solve for both values of X, any quadratic equation that has real number solutions.
<!– Paste this code into an external JavaScript file named: quadEquation.js –>
/* This script and many more are available free online at
The JavaScript Source :: http://javascriptsource.com
Created by: Ben Kanaev :: http://www.webhostreview.biz */
var a,b,c,x1,x2;
function getValues() {
signB = (document.form.firstSign.value == “+”) ? 1 : -1;
signC = (document.form.secondSign.value == “+”) ? 1 : -1;
a = document.form.x2Coef.value;
b = document.form.xCoef.value * signB;
c = document.form.endValue.value * signC;
}
function solveForX() {
x1 = ((-1*b) + Math.sqrt((b*b) – 4*a*c))/ (2*a);
x2 = ((-1*b) – Math.sqrt((b*b) – 4*a*c))/ (2*a);
if(document.form.round.checked){
x1 = Math.round(x1*1000)/1000;
x2 = Math.round(x2*1000)/1000;
}
}
function factorEq() {
if( (Boolean(x1) != false) && (Boolean(x2) != false)) {
x1Print = ((x1 * -1) > 0) ? “+” + (x1*-1) : x1 * -1;
x2Print = ((x2 * -1) > 0) ? “+” + (x2*-1) : x2 * -1;
aPrint = (a > 1 || a < 0) ? a : “”;
document.getElementById(‘testing’).innerHTML = “<font color=”red”>The Solutions Are:</font><br>x1 = ” + x1 + “; x2 = ” + x2 + “<br><font color=”red”> The Equation Is:</font><br> ” + aPrint + “(x ” + x1Print + “) (x ” + x2Print + “)”;
} else {
document.getElementById(‘testing’).innerHTML = “<font color=”red”><b>YOUR INPUT PRODUCED AN ERROR:</b></font><br> You have entered a non-integer into one of the fields above, or the solution(s) for your equation is(are) an imaginary(s) number!”;
}
}
function SolveEq() {
getValues();
solveForX();
factorEq();
}
<!– Paste this code into the HEAD section of your HTML document.
You may need to change the path of the file. –>
<script type=”text/javascript” src=”quadEquation.js”></script>
<!– Paste this code into the BODY section of your HTML document –>
<div align=”center”>
<form name=”form”>
<input type=”text” name=”x2Coef” size=”2″ value=”1″><b> X<sup>2</sup> </b>
<select name=”firstSign”>
<option value=”+”>+</option>
<option value=”-“>-</option>
</select>
<input typle=”text” name=”xCoef” size=”2″ value=”1″><b> X</b>
<select name=”secondSign”>
<option value=”+”>+</option>
<option value=”-“>-</option>
</select>
<input type=”text” name=”endValue” size=”2″><br>
Round to the nearest thousandths?<input type=”checkbox” name=”round”>Yes<br><br>
<input type=”button” value=”Solve!” onClick=”SolveEq()”>
</form>
<p id=”testing” style=”width: 400px; height: 100px; border-width: 2px; border-style: groove; border-color: orange; font-size: 16px; color: blue; vertical-align: center”>The Solution Will Appear Here!</p>
</div>
<p><div align=”center”>
<font face=”arial, helvetica” size”-2″>Free JavaScripts provided<br>
by <a href=”https://javascriptsource.com”>The JavaScript Source</a></font>
</div><p>