JSFiddle - React, Tailwind, and code Playground
by Cameron Bernhardt
HTML
<form action="" method="post" id="subnewtopicform" />Title:
<input type="text" name="title">
<br/>Description:
<textarea name="description"></textarea>
<br/>Category:
<ul class="list:category categorychecklist form-no-clear" id="categorychecklist">
<li id="category-19">
<label class="selectit">
<input type="radio" id="in-category-19" name="category" value="19">Animation</label>
</li>
<li id="category-20">
<label class="selectit">
<input type="radio" id="in-category-20" name="category" value="20">Anime</label>
</li>
</ul>
<input type="submit" value="Submit Topic" class="button-primary" name="subnewtopic" id="subnewtopic" disabled="disabled" />
</form>
JavaScript
function check() {
var inputs = document.getElementsByTagName("input");
var textareas = document.getElementsByTagName("textarea");
var filled = true;
var oneChecked = false;
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].type === "text" && !inputs[i].value) {
filled = false;
}
if (inputs[i].type === "radio" && inputs[i].checked) {
oneChecked = true;
}
}
if (!oneChecked) {
filled = false;
}
for (var j = 0; j < textareas.length; j++) {
if (!textareas[j].value) {
filled = false;
}
}
if (filled) {
document.getElementById("subnewtopic").disabled = false;
} else {
document.getElementById("subnewtopic").disabled = true;
}
}
window.addEventListener("keyup", check);
window.addEventListener("click", check);