UserData
Log | Log |
</> Source
<!DOCTYPE html>
<html>
<head>
<title>UserData</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>
<style>
div#simpleLog, div#simpleLog2 {
font-family: Tahoma;
font-size: 11px;
margin: 20px 20px 0px 0px;
}
</style>
<script>
var myForm, formData, logObj;
var myForm2, logObj2;
function doOnLoad() {
// init from json
formData = [
{type: "settings", position: "label-left", labelWidth: 130, inputWidth: 120},
{type: "fieldset", label: "Init from JSON", inputWidth: "auto", list:[
{type: "radio", name: "type", label: "Already have account", labelWidth: "auto", value: "have_account", position: "label-right", checked: true, list:[
{type: "input", label: "Login", value: "p_rossi", name: "login", userdata: {
max_lentgh: 15,
char_allowed: "a-zA-Z0-9_-"
}},
{type: "password", label: "Password", value: "123"},
{type: "checkbox", label: "Remember me", checked: true}
], userdata: {
check_session: true,
exp_days: 10
}},
{type: "radio", name: "type", label: "Not registered yet", labelWidth: "auto", position: "label-right", list:[
{type: "input", label: "Login", value: "p_rossi"},
{type: "password", label: "Password", value: "123"},
{type: "password", label: "Confirm Password", value: "123"},
{type: "input", label: "E-mail Address", value: "p_rossi@example.com"}
]},
{type: "button", value: "Proceed", name: "proceed", userdata: {
skip_validation: true
}}
]}
];
myForm = new dhtmlXForm("myForm", formData);
checkUserData(myForm, log);
// init from xml
myForm2 = new dhtmlXForm("myForm2");
myForm2.loadStruct("../common/dhxform_userdata.xml", function(){
checkUserData(myForm2, log2);
});
}
function checkUserData(form, log) {
// add some user data manualy
form.setUserData("type", "have_account", "check_msg", false);
form.setUserData("proceed", "session_id", "ZkRhMY");
// read userdata
log("form loaded, attempt to read userdata<br>");
log("input 'Login', <span style='color:blue;'>userdata</span>: max_length, <span style='color:green;'>value</span>: "+form.getUserData("login", "max_lentgh")+"<br>");
log("input 'Login', <span style='color:blue;'>userdata</span>: exp_days, <span style='color:green;'>value</span>: "+form.getUserData("login", "char_allowed")+"<br>");
log("radiobutton 'Already have account', <span style='color:blue;'>userdata</span>: check_session, <span style='color:green;'>value</span>: "+form.getUserData("type", "have_account", "check_session").toString()+"<br>");
log("radiobutton 'Already have account', <span style='color:blue;'>userdata</span>: exp_days, <span style='color:green;'>value</span>: "+form.getUserData("type", "have_account", "exp_days")+"<br>");
log("radiobutton 'Already have account', <span style='color:blue;'>userdata</span>: check_msg, <span style='color:green;'>value</span>: "+form.getUserData("type", "have_account", "check_msg").toString()+"<br>");
log("button 'Proceed', <span style='color:blue;'>userdata</span>: skip_validation, <span style='color:green;'>value</span>: "+form.getUserData("proceed", "skip_validation").toString()+"<br>");
log("button 'Proceed', <span style='color:blue;'>userdata</span>: session_id, <span style='color:green;'>value</span>: "+form.getUserData("proceed", "session_id")+"<br>");
}
function log(t) {
if (!logObj) logObj = document.getElementById("simpleLog");
logObj.innerHTML += t;
}
function log2(t) {
if (!logObj2) logObj2 = document.getElementById("simpleLog2");
logObj2.innerHTML += t;
}
</script>
</head>
<body onload="doOnLoad();">
<table>
<tr>
<td><div id="myForm"></div></td>
<td><div id="myForm2"></div></td>
</tr>
<tr>
<td><b>Log</b></td>
<td><b>Log</b></td>
</tr>
<tr>
<td><div id="simpleLog"></div></td>
<td><div id="simpleLog2"></div></td>
</tr>
</table>
</body>
</html>
Documentation
Check documentation to learn how to use the components and easily implement them in your applications.