This is part of a suite of test forms for Web Forms 2.0 for a set of shared examples with XForms Transitional. See the corresponding XForms Transitional example. This demo will only work on a Web Forms 2.0 compliant browser (e.g. Opera 9).
Here is the markup for the above form:
<script type="text/javascript"> function relevant() { var x = document.getElementById('f1'); var y = document.getElementById('f2'); var ylabel = y.labels[0]; var years = eval(x.value); if (!isNaN(years) && years < 4) { y.style.display = ylabel.style.display = "inline"; y.style.visibility = ylabel.style.visibility = "visible"; } else { y.style.display = ylabel.style.display = "none"; y.style.visibility = ylabel.style.visibility = "hidden"; } } window.onload = relevant; </script> <form name="form1" onsubmit="false"> <fieldset> <legend>Relevant fields</legend> <label title="try with 5 and then with 3" for="f1">Number of years at current address?</label> <input id="f1" name="x" type="number" onforminput="relevant()"/><br/> <label title="Needed if years at current address is less than 4" for="f2">Number of years at previous address?</label> <input id="f2" name="y" type="number"> </fieldset> </form>
By way of contrast the XForms Transitional markup for this example is the following:
<form name="form1" onsubmit="false"> <fieldset> <legend>Relevant fields</legend> <label title="try with 5 and then with 3" for="f1">Number of years at current address?</label> <input id="f1" name="x" type="number"/><br/> <label title="Needed if years at current address is less than 4" for="f2">Number of years at previous address?</label> <input id="f2" name="y" type="number" relevant="x < 4"/> </fieldset> </form>Dave Raggett <dsr@w3.org>
Copyright © 2007 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.