onChange/onBeforeChange events

Log (clear)
</> Source
<!DOCTYPE html>
	<title>onChange/onBeforeChange events</title>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
	<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
	<link rel="stylesheet" type="text/css" href="../../../codebase/fonts/font_roboto/roboto.css"/>
	<link rel="stylesheet" type="text/css" href="../../../codebase/dhtmlx.css"/>
	<script src="../../../codebase/dhtmlx.js"></script>
		div#simpleLog {
			width: 500px;
			height: 200px;
			font-family: Roboto, Arial, Helvetica;
			font-size: 14px;
			color: #404040;
			overflow: auto;
		span.allow {
			color: green;
		span.deny {
			color: red;
		var myForm, formData, logObj;
		function doOnLoad() {
			formData = [
				{type: "settings", position: "label-right"},
				{item: "label", label: "Some checkboxes"},
				{type: "checkbox", name: "ch_allow", value: "value_allow", label: "This checkbox is allowed to be changed"},
				{type: "checkbox", name: "ch_deny", value: "value_deny", label: "This checkbox - NOT"}

			myForm = new dhtmlXForm("myForm", formData);
			myForm.attachEvent("onBeforeChange", function(name,value,is_checked){
				var status = (name.search(/allow/) >= 0);
				logEvent("onBeforeChange, item name '"+name+"', value '"+value+"', is checked '"+(is_checked?"true":"false")+"', "+(status?"<span class='allow'>":"<span class='deny'>not ")+"change</span><br>");
				return status;
			myForm.attachEvent("onChange", function(name,value,is_checked){
				logEvent("onChange, item name '"+name+"', value '"+value+"', is checked '"+(is_checked?"true":"false")+"'<br>");
		function logEvent(t) {
			if (!logObj) logObj = document.getElementById("simpleLog");
			logObj.innerHTML += t;
		function clearLog() {
			if (!logObj) logObj = document.getElementById("simpleLog");
			logObj.innerHTML = "";
<body onload="doOnLoad();">
		<tr><td><div id="myForm"></div></td></tr>
		<tr><td><b>Log (<a href="javascript:void(0);" onclick="clearLog();">clear</a>)</b></td></tr>
		<tr><td><div id="simpleLog"></div></td></tr>


Check documentation to learn how to use the components and easily implement them in your applications.