Remove unnecessary submission button

Fixes #1.
This commit is contained in:
Florine W. Dekker 2020-03-14 12:31:46 +01:00
parent e6e3a172a5
commit e577289490
Signed by: FWDekker
GPG Key ID: B1B567AF58D6EE0F
1 changed files with 12 additions and 32 deletions

View File

@ -43,8 +43,6 @@
<label for="denominator">Denominator</label>
<input type="number" id="denominator" min="-2147483647" max="2147483647" />
<button type="button" id="submit">Simplify</button>
</fieldset>
</form>
</section>
@ -64,7 +62,7 @@
<a href="https://git.fwdekker.com/FWDekker/simplify-fractions/src/branch/master/LICENSE">MIT License</a>.
Source code available on <a href="https://git.fwdekker.com/FWDekker/simplify-fractions/">git</a>.
<div style="float: right;">v1.0.12</div>
<div style="float: right;">v1.1.0</div>
</section>
</footer>
</main>
@ -172,7 +170,6 @@
doAfterLoad(() => {
const numeratorInput = $("#numerator");
const denominatorInput = $("#denominator");
const submitButton = $("#submit");
const outputField = $("#out");
@ -180,17 +177,16 @@
* Returns `undefined` if the inputs are valid, or a tuple consisting of the invalid element and an explanation
* of its invalidity otherwise.
*
* @param numerator {string} the numerator value
* @param denominator {string} the denominator value
* @returns {(HTMLElement|string)[]|undefined} `undefined` if the inputs are valid, or a tuple consisting of the
* invalid element and an explanation of its invalidity otherwise
*/
const validateInputs = () => {
let numerator = numeratorInput.value;
let denominator = denominatorInput.value;
const validateInputs = (numerator, denominator) => {
if (numerator === "")
return [numeratorInput, "Numerator must not be empty."];
return [numeratorInput, ""];
if (denominator === "")
return [denominatorInput, "Denominator must not be empty."];
return [denominatorInput, ""];
if (!isInt(numerator))
return [numeratorInput, "Numerator must be an integer."];
if (!isInt(denominator))
@ -203,13 +199,13 @@
/**
* Reads the inputs and tries to output the simplified fraction.
*
* Errors are handled and displayed where appropriate.
*/
const outputSimplifiedFraction = () => {
const validationInfo = validateInputs();
let numerator = numeratorInput.value;
let denominator = denominatorInput.value;
const validationInfo = validateInputs(numerator, denominator);
if (validationInfo !== undefined) {
validationInfo[0].select();
outputField.innerText = validationInfo[1];
return;
}
@ -221,25 +217,9 @@
};
submitButton.onclick = () => outputSimplifiedFraction();
numeratorInput.addEventListener("input", () => outputSimplifiedFraction());
numeratorInput.addEventListener("keydown", event => {
if (event.key === "Enter") {
if (denominatorInput.value === "") {
denominatorInput.select();
} else {
outputSimplifiedFraction();
numeratorInput.select();
}
}
});
denominatorInput.addEventListener("keydown", event => {
if (event.key === "Enter") {
outputSimplifiedFraction();
denominatorInput.select();
}
});
denominatorInput.addEventListener("input", () => outputSimplifiedFraction());
});
</script>
</body>