On 23 Oct 2003 15:49:48 +0200, Lasse Reichstein Nielsen
<lr*@hotpop.com> brought forth from the murky depths:
Thomas 'PointedEars' Lahn <Po*********@web.de> writes:
Enclose the radio *buttons* in a `fieldset' element or leave them as
children of the `form' element. Use the `onchange' event handler of
either element
I didn't know that forms or fieldsets had onchange event handlers.
Checking the HTML 4.01 specification gives no mention of these.
I tested in IE 6, Opera 7 and Mozilla, using the following code:
---
<form onchange="alert('form')" action="">
<fieldset onchange="alert('field')"><legend>Test</legend>
<input name="too" onchange="alert('input')">
</fieldset>
</form>
---
and it threw all alerts in in Opera and Moz. In IE, only the input alert
was displayed.
Along the same line, I need to check for empty fields and am currently
using this script to do so. The problem is that it doesn't check radio
button fieldsets (or checkboxes). How would I add that in the simplest
way? All she wants me to check for are empties.
<SCRIPT LANGUAGE="JavaScript">
<!-- Original: wsabstract.com -->
<!-- The JavaScript Source!!
http://javascript.internet.com -->
<!-- Begin
function checkrequired(which) {
var pass=true;
if (document.images) {
for (i=0;i<which.length;i++) {
var tempobj=which.elements[i];
if (tempobj.name.substring(0,1)=="x") {
if (((tempobj.type=="text"||tempobj.type=="textarea") &&
tempobj.value=='')||(tempobj.type.toString().charA t(0)=="s"&&
tempobj.selectedIndex==0)) {
pass=false;
break;
}
}
}
}
if (!pass) {
shortFieldName=tempobj.name.substring(2,30).toUppe rCase();
alert("Please make sure the "+shortFieldName+" field is completed.");
return false;
}
else
return true;
}
// End -->
</script>
I add an x to the fieldname and strip off both the prefix letters
and the x. EG: name="xdname" is a required deliver-to name.
Is there a simple way to add radio button checking?