var form = { databaseUrl: '127.0.0.1', databasePort: '3306', databaseTable: '5kcrm_', databasePwd: '', databaseUser: 'root' }; var rules = { databaseUrl: { required: true, regexp: /[^\u4e00-\u9fa5]+$/, label: '数据库主机地址' }, databaseName: { required: true, regexp: /[^\u4e00-\u9fa5]+$/, label: '数据库名' }, databasePort: { required: true, regexp: /^[0-9]*$/, label: '数据库端口号' }, databaseUser: { required: true, regexp: /[^\u4e00-\u9fa5]+$/, label: '数据库用户名' }, databasePwd: { required: false, regexp: null, label: '数据库密码' }, databaseTable: { required: true, regexp: /[^\u4e00-\u9fa5]+$/, label: '数据库表前缀' }, root: { required: true, regexp: /^[1][3-9][0-9]{9}$/, label: '管理员账号' }, pwd: { required: true, regexp: /^(?=.*[a-zA-Z])(?=.*\d).{6,20}$/, label: '管理员密码(6~20位字母加数字组合)' } }; var timer = null; var flag = true; _initFormValue(); // 上一步 $('.prev').click(function () { window.location = 'step1.html' }); // 下一步 $('.next').click(function () { // 获取form数据 // 校验form数据 true 校验通过 false 校验失败 var forms = getFormData(); var result = checkForm(); console.log('result---', result, forms); if (result) { $.ajax({ cache: true, type: "POST", dataType: 'json', url: "./step4", data: { form: forms }, async: false, success: function (result) { if (result.code == '200') { alert(result.data); window.location = '../../../index.html'; } else if (result.code == '400') { alert(result.error); //失败 return false; // window.location = 'step3.html' } else { window.location = 'step3.html' alert('安装失败'); } } // getRes(); }); } }); function getRes() { if (timer) { clearTimeout(timer); timer = null; } // $.post("/admin/install/progress",function(result){ // $(".install_progress_a").show(); // $(".install_progress_a").empty(); // $(".form").hide(); // $(".control").hide(); // if(result.data.now < result.data.length ){ // $(".install_progress_a").append(""); // html ="
正在安装中,请稍后...
"; // $(".install_progress_a").append(html); // timer = setTimeout(getRes, 1000) // } else { // $(".install_progress_a").append(""); // html ="
安装成功
"; // $(".install_progress_a").append(html); // clearTimeout(timer); // timer = null; // } // }); $.ajax({ cache: true, type: "POST", dataType: 'json', url: './progress', data: '', async: false, success: function (result) { $(".install_progress_a").show(); $(".install_progress_a").empty(); $(".form").hide(); $(".control").hide(); if (result.data.now < result.data.length) { $(".install_progress_a").append(""); html = "
正在安装中,请稍后...
"; $(".install_progress_a").append(html); timer = setTimeout(getRes, 1000) } else { $(".install_progress_a").append(""); html = "
安装成功
"; $(".install_progress_a").append(html); clearTimeout(timer); timer = null; } } }); } /** * 给 form 输入框赋初值 * @private */ function _initFormValue() { $('input').each(function (index, item) { item.value = form[item.name] || null $(item).change(function () { $(this).removeClass('input-error'); var borther = $(this).siblings('.error'); borther.remove(); if (borther.filter('.remind')[0]) { borther.filter('.remind').show() } }) }); } /** * 获取 form 输入的值 * @return {form} */ function getFormData() { $('input').each(function (index, item) { form[item.name] = item.value; // 重置表单状态 $(item).removeClass('input-error'); var borther = $(item).siblings(); borther.remove('.error'); if (borther.filter('.remind')[0]) { borther.filter('.remind').show() } }); return form } /** * 校验表单 * @return {boolean} */ function checkForm() { var result = {}; for (var key in rules) { var rule = rules[key]; if (rule.required) { if (!form[key] || form[key] == '') { result[key] = rule.label + '不能为空!'; } } if (rule.regexp && !result[key]) { var flag = rule.regexp.test(form[key]); if (!flag) { let msg = rule.label === '管理员账号' ? '手机号码' : rule.label result[key] = '请输入正确的' + msg + '!'; } } } var flag = true; if (JSON.stringify(result) !== '{}' && typeof result === 'object') { for (var key in result) { renderErrorMsg(key, result[key]) flag = false; } } return flag } /** * 渲染错误信息 * @param key * @param msg */ function renderErrorMsg(key, msg) { $('input').each(function (index, item) { if (item.name === key) { var remindDom = $(item).next()[0] || null; if (remindDom) { $(remindDom).hide() } $(item).parent().append('
' + msg + '
'); $(item).addClass('input-error') } }) } /** * 提交表单 */ function submitForm() {}