UNPKG

jqwidgets-scripts-custom

Version:

jQWidgets is an advanced jQuery, Angular 7, Vue, React, ASP .NET MVC, Custom Elements and HTML5 UI framework.

198 lines (170 loc) 8.31 kB
<!DOCTYPE html> <html lang="en"> <head> <title id='Description'>PasswordInput Custom Element DefaultFunctionality</title> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <meta name="viewport" content="width=device-width, initial-scale=1 maximum-scale=1 minimum-scale=1" /> <meta name="description" content="This is an example of the default functionalities in Custom Element Passwordinput." /> <link rel="stylesheet" href="../../../jqwidgets/styles/jqx.base.css" type="text/css" /> <link rel="stylesheet" href="../../../styles/demos.css" type="text/css" /> <script type="text/javascript" src="../../../scripts/webcomponents-lite.min.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxcore.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxcore.elements.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxpasswordinput.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxinput.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxdatetimeinput.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxcalendar.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxtooltip.js"></script> <script type="text/javascript" src="../../../jqwidgets/globalization/globalize.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxbuttons.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxscrollbar.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxlistbox.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxdropdownlist.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxexpander.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxvalidator.js"></script> <script type="text/javascript" src="../../../scripts/demos.js"></script> <script> var genders = ['male', 'female']; JQXElements.settings['createAccount'] = { toggleMode: 'none', showArrow: false }; JQXElements.settings['password'] = { showStrength: true, showStrengthPosition: "right" }; JQXElements.settings['gender'] = { source: genders, selectedIndex: -1, promptText: 'I am...', autoDropDownHeight: true }; JQXElements.settings['submit'] = { theme: theme }; JQXElements.settings['form'] = { rules: [ { input: '#firstName', message: 'First name is required!', action: 'keyup, blur', rule: (input, commit) => { return firstName.val() != '' && firstName.val() != 'First'; } }, { input: '#lastName', message: 'Last name is required!', action: 'keyup, blur', rule: (input, commit) => { return lastName.val() != '' && lastName.val() != 'Last'; } }, { input: '#userName', message: 'Username is required!', action: 'keyup, blur', rule: 'required' }, { input: '#password', message: 'Password is required!', action: 'keyup, blur', rule: 'required' }, { input: '#passwordConfirm', message: 'Password is required!', action: 'keyup, blur', rule: 'required' }, { input: '#passwordConfirm', message: 'Passwords should match!', action: 'keyup, blur', rule: (input, commit) => { var firstPassword = password.val(); var secondPassword = passwordConfirm.val(); return firstPassword == secondPassword; } }, { input: '#gender', message: 'Gender is required!', action: 'blur', rule: (input, commit) => { var index = gender.getSelectedIndex(); return index != -1; } } ] }; window.onload = function() { var myExpander = document.querySelector('jqx-expander'); var myButton = document.querySelector('jqx-button'); var myValidator = document.querySelector('jqx-validator'); myButton.addEventListener('click', function() { myValidator.validate(document.getElementById('form')) }); myValidator.addEventListener('validationSuccess', function(event) { myExpander.setContent = '<span style="margin: 10px;">Account created.</span>'; }); }; </script> </head> <body> <div class="example-description"> This demo illustrates the default functionality of the Custom element PasswordInput widget. </div> <jqx-expander settings="createAccount" style="font-family: Verdana; font-size: 13px;"> <div> Create a new account </div> <div style="font-family: Verdana; font-size: 13px;"> <jqx-validator settings="form" style="overflow: hidden; margin: 10px;" action="./"> <table> <tr> <td colspan="2">First Name</td> </tr> <tr> <td> <jqx-input id="firstName" class="firstname"></jqx-input> </td> </tr> <tr> <td colspan="2">Last Name</td> </tr> <tr> <td> <jqx-input id="lastName" class="lastname"></jqx-input> </td> </tr> <tr> <td colspan="2">Choose your username</td> </tr> <tr> <td colspan="2"> <jqx-input id="userName" class="username"></jqx-input> </td> </tr> <tr> <td colspan="2">Create a password</td> </tr> <tr> <td colspan="2"> <jqx-password-input id="password" class="password"></jqx-password-input> </td> </tr> <tr> <td colspan="2">Confirm your password</td> </tr> <tr> <td colspan="2"> <jqx-password-input id="passwordConfirm" class="confirmpassword"></jqx-password-input> </td> </tr> <tr> <td colspan="2">Birthday</td> </tr> <tr> <td colspan="2"> <jqx-date-time-input></jqx-date-time-input> </td> </tr> <tr> <td colspan="2">Gender</td> </tr> <tr> <td colspan="2"> <jqx-drop-down-list settings="gender" id="gender" class="gender"></jqx-drop-down-list> </td> </tr> <tr> <td colspan="2"> <jqx-button settings="submit">Create account</jqx-button> </td> </tr> </table> </jqx-validator> </div> </jqx-expander> </body> </html>