Code:
<html>
<head>
<title>Title</title>
<script type="text/javascript">
function getFormElementNumber(frm, elem) {
for(var i = 0; i < frm.elements.length; i++) if(frm.elements[i] == elem) return i;
return -1;
}
function getLoading() {
var e = document.forms['genform'].elements,
op = document.getElementById("opbox"),
temphtml = "<ul>";
for(var i = 0;i < e.length; i++) {
temphtml += '<li style="' + (e[i].checked || (e[i].tagName == "select" && e[i].value != "") ? "" : "display:none") + ';">' + e[i].value + '</li>';
e[i].onchange = function(){ genformChanged(this); };
if(e[i].tagName == "input") toggleOpItem(e[i]);
else if(e[i].tagName == "select") setOpItemText(e[i]);
}
temphtml += "</ul>";
op.innerHTML = temphtml;
}
function toggleOpItem(el) {
var cur = document.getElementById("opbox").getElementsByTagName("li")[getFormElementNumber(document.forms['genform'], el)].style.display;
document.getElementById("opbox").getElementsByTagName("li")[getFormElementNumber(document.forms['genform'], el)].style.display = (cur == "none" && (el.type != "checkbox" || el.checked) ? "block" : "none");
}
function setOpItemText(el) {
var op = document.getElementById("opbox").getElementsByTagName("li")[getFormElementNumber(document.forms['genform'], el)]
var cur = op.innerHTML = el.value;
el.value != "" ? op.style.display = "block" : op.style.display = "none";
}
function genformChanged(el) {
var op = document.getElementById("opbox");
if(el.tagName.toLowerCase() == "input") {
if(el.type.toLowerCase() == "checkbox") {
toggleOpItem(el);
}
} else if(el.tagName.toLowerCase() == "select") {
setOpItemText(el);
}
}
onload = getLoading;
</script>
</head>
<body>
<form name="genform" action="" method="">
<select>
<option></option>
<option>Windows</option>
<option>BSD</option>
<option>Mac OS X / Darwin</option>
<option>Linux</option>
</select><br>
<input type="checkbox" value="Powercycled modem">Powercycled<br>
<input type="checkbox" value="Rebooted">Rebooted
</form>
<div id="opbox"></div>
</body>
</html>
Bookmarks