致远软件工作室第一讲

1.用好工具

VS2013:快捷键、网站建立(ASP.net)、学会debug(js调试)















JS+Bootstrap动态生成表格+查询功能

(1)DIY js代码:

<pre name="code" class="javascript">var figure = "";//定义全局变量

$(function () {
    $("#save").click(function () {
        $("#del" + figure + "").attr("onclick", "deltr(" + (figure) + ")");//使得删除按钮有效

        var username = $("#userName").val();
        var sex = $('input:radio[name="sex"]:checked').val();
        if (sex == null) {
            alert("什么也没选中!");
            return false;
        }
        else {
            //alert(sex);
        }
        var age = $("#age").val();
        var mail = $("#mail").val();

        var userInfo = new UserInfo(username, sex, age, mail);
        var aIndex = figure;
        //alert(figure);
        if (validate(userInfo)) {

            $("table tr:eq(" + aIndex + ") td:eq(1)").html(userInfo.username);
            $("table tr:eq(" + aIndex + ") td:eq(2)").html(userInfo.sex);
            $("table tr:eq(" + aIndex + ") td:eq(3)").html(userInfo.age);
            $("table tr:eq(" + aIndex + ") td:eq(4)").html(userInfo.mail);

            $("#userName").val('');
            $('input').removeAttr('checked');
            $("input[name='sex']").get(0).checked = true;
            $("#age").val('10~20');
            $("#mail").val('');
            $("#submit").removeAttr("disabled");//使得新增按钮有效

        } else {
        }


    });

    $('#userName').focusin(function () {
        hidden("#userNameErr");
    });

    $("#mail").focusin(function () {
        hidden("#mailErr");
    });

    $("#searchName").focusin(function () {
        hidden("#searchErr");
        $("tr").css("background-color", "");
    });

    function hidden(val) {
        disappear();
        $(val).attr('style', 'visibility:hidden');
    }

    $("#submit").click(function () {

        var username = $("#userName").val();
        var sex = $('input:radio[name="sex"]:checked').val();
        if (sex == null) {
            alert("性别没选中!");
            return false;
        }
        else {
            //alert(sex);
        }
        var age = $("#age").val();
        var mail = $("#mail").val();


        var userInfo = new UserInfo(username, sex, age, mail);

        //alert(userInfo.username, userInfo.sex, userInfo.age, userInfo.mail);

        if (validate(userInfo)) {
            //增加<tr/>
            var len = $("table tbody tr").length;
            //alert(len);
            $("#tb").append("<tr id=" + (len + 1) + ">"
                                + "<td>" + (len + 1) + "</td>"
                                + "<td>" + userInfo.username + "</td>"
                                + "<td>" + userInfo.sex + "</td>"
                                + "<td>" + userInfo.age + "</td>"
                                + "<td>" + userInfo.mail + "</td>"
                                + "<td><a id=del" + (len + 1) + " href=\'#\' οnclick=\'deltr(" + (len + 1) + ")\'>删除</a> <a href=\'#\' οnclick=\'updatetr(" + (len + 1) + ")\'>修改</a></td>"
                           + "</tr>");

            $("#userName").val('');

            $('input').removeAttr('checked');
            $("input[name='sex']").get(0).checked = true;

            $("#age").val('10~20');
            $("#mail").val('');

            //alert("合法");
        } else {

            //alert("不合法");
        }

    });

    function disappear() {
        $("#searchName").val("");
        //$("tr").css("background-color", "");
    }
    //检查查询用户名
    $("#btn").click(function () {
        hidden("#userNameErr");
        hidden("#mailErr");
        var searchName = $("#searchName").val();
        if (searchName == "") {
            $("tr").css("background-color", "");
            $("#searchErr").attr('style', 'visibility:visible');
            return;
        } else {
            //   alert(searchName);
            var nameString = /^([\u4e00-\u9fa5]*$)+/;//中文检测正则表达式
            var bool = nameString.test(searchName);
            if (!bool) {
                $('#searchErr').attr('style', 'visibility:visible');
                $('#searchErr').html('请输入合法的中文姓名!');
                return;
            }
        }
        var num = 0;
        $('table tbody tr').find('td').each(function () {
            var me = $(this).index();
            var userName = $("table tr:eq(" + me + ") td:eq(1)").text();
            if (userName == searchName) { // 如果当前是第一列
                num++;
                var sex = $("table tr:eq(" + me + ") td:eq(2)").text();
                var age = $("table tr:eq(" + me + ") td:eq(3)").text();
                var mail = $("table tr:eq(" + me + ") td:eq(4)").text();
                $("tr[id='" + me + "']").css("background-color", "#EC897F");
            }
        });
        if (num == '0') {
            alert("你查询的结果不存在!");
            $("#searchName").val('');
            $("#searchName").focus();//锁定焦点
        }


    });
    $("#searchName").focusin(function () {
        hidden("#searchErr");
        hidden("#userNameErr");
        hidden("#mailErr");
    });

    function hidden(val) {
        $(val).attr('style', 'visibility:hidden');
    }

});

//验证UserInfo合法性
function validate(userInfo) {
    var flag = true;
    //alert("++" + userInfo.sex);
    if (userInfo.username == "") {
        $('#userNameErr').attr('style', 'visibility:visible');
        flag = false;
    }

    if (!isName(userInfo.username)) {
        $('#userNameErr').attr('style', 'visibility:visible');
        $('#userNameErr').html('请输入合法的中文姓名!');
        flag = false;
    }

    if (userInfo.mail == "") {
        $('#mailErr').attr('style', 'visibility:visible');
        flag = false;
    }

    if (!isEmail(userInfo.mail)) {
        $('#mailErr').attr('style', 'visibility:visible');
        $('#mailErr').html('邮箱输入不合法!');
        flag = false;
    }
    return flag;
}

//正则表达式检验邮箱
function isEmail(str) {
    var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
    return reg.test(str);
}

//验证输入是否为中文
function isName(nameStr) {
    var name = /^([\u4e00-\u9fa5]*$)+/;
    return name.test(nameStr);
}

//鼠标移走事件
function onblus(index) {
    var aIndex = $("#" + index + "").val();
    if (aIndex == "") {
        $("#" + index + "Err").attr('style', 'visibility:visible');
    } else {
        if (index == "userName" && !isName(aIndex)) {
            $('#userNameErr').attr('style', 'visibility:visible');
            $('#userNameErr').html('请输入合法的中文姓名!');
        }
        if (index == "mail" && !isEmail(aIndex)) {
            $('#mailErr').attr('style', 'visibility:visible');
            $('#mailErr').html('邮箱输入不合法!');
        }
    }

}

//鼠标置入事件


//封装一个UserInfo对象
function UserInfo(username, sex, age, mail) {
    this.username = username;
    this.sex = sex;
    this.age = age;
    this.mail = mail;
}

//删除
var deltr = function (index) {
    //alert(index);
    if ($("#userName").val('') != "") {
        $('#userNameErr').attr('style', 'visibility:hidden');
    }
    if ($("#mail").val('') != "") {
        $('#mailErr').attr('style', 'visibility:hidden');
    }
    if (confirm("确定删除?")) {
        i - 1
        var len = $("table tbody tr").length;
        // 显示索引值
        //$('table tbody tr').bind('click', function () {
        //    alert($('table tbody tr').index(this));
        //});
        $("tr[id='" + index + "']").remove();//删除当前行
        for (var i = index + 1, j = len; i <= j; i++) {
            var k = i - 1;
            var nextUserName = $("table tr:eq(" + k + ") td:eq(1)").text();
            var nextSex = $("table tr:eq(" + k + ") td:eq(2)").text();
            var nextAge = $("table tr:eq(" + k + ") td:eq(3)").text();
            var nextMail = $("table tr:eq(" + k + ") td:eq(4)").text();
            $("tr[id=\'" + i + "\']")
            .replaceWith("<tr id=" + k + ">"
                                + "<td>" + k + "</td>"
                                + "<td>" + nextUserName + "</td>"
                                + "<td>" + nextSex + "</td>"
                                + "<td>" + nextAge + "</td>"
                                + "<td>" + nextMail + "</td>"
                                + "<td><a id=del" + k + " href=\'#\' οnclick=\'deltr(" + k + ")\'>删除</a> <a href=\'#\' οnclick=\'updatetr(" + k + ")\'>修改</a></td>"
                           + "</tr>");
        }
    }
}

//修改
var updatetr = function (index) {

    if ($("#userName").val('') != "") {
        $('#userNameErr').attr('style', 'visibility:hidden');
    }
    if ($("#mail").val('') != "") {
        $('#mailErr').attr('style', 'visibility:hidden');
    }
    figure = index;
    $("#submit").attr("disabled", true);//使得新增按钮失效

    $("#del" + index + "").attr("onclick", "");//使得删除按钮失效
    var userName = $("table tr:eq(" + index + ") td:eq(1)").text();
    var sex = $("table tr:eq(" + index + ") td:eq(2)").text();
    var age = $("table tr:eq(" + index + ") td:eq(3)").text();
    var mail = $("table tr:eq(" + index + ") td:eq(4)").text();

    $("#userName").val(userName);//填充内容

    $('input').removeAttr('checked');
    if (sex == '男') {
        $("input[name='sex']").get(0).checked = true;
    } else {
        $("input[name='sex']").get(1).checked = true;
    }

    $("#age").val(age);
    $("#mail").val(mail);
    //$("#mail").attr("value", mail);
    //alert(tr);
}


 (2)html代码 

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <!--引用js-->
    <!--<script src="js/bootstrap.min.js"></script>-->
    <script src="js/jquery-1.11.1.js"></script>
    <script src="js/myJs.js"></script>
    <!--引用css-->
    <link href="css/bootstrap.css" rel="stylesheet" />
    <link href="css/myCss.css" rel="stylesheet" />
    <title>用户信息录入</title>
    <style type="text/css">
    </style>
    <script type="text/javascript">
    </script>
</head>
<body>
    <div class="navbar navbar-inverse navbar-fixed-top">
        <div class="navbar-inner">
            <div class="container">
                <a class="brand" href="#">用户信息</a>
            </div>
        </div>
    </div>
    <div class="container">
        <div>
            姓名:
            <input type="text" id="searchName" placeholder="请输入用户名" class="input-medium search-query">
            <button type="submit" class="btn" id="btn">查 询</button>
            <span class="errors" id="searchErr">姓名不能为空</span>
        </div>

        <h3><code>用户列表</code></h3>
        <div class="bs-docs-example">
            <table class="table table-bordered">
                <thead>
                    <tr>
                        <th>序号</th>
                        <th>姓名</th>
                        <th>性别</th>
                        <th>年龄</th>
                        <th>电子邮件</th>
                        <th>操作</th>
                    </tr>
                </thead>
                <tbody id="tb">
                    <!--<tr>
                        <td colspan="6">。。。。。。</td>
                    </tr>-->
                    <!--<tr>
                        <td>1</td>
                        <td>丁海军</td>
                        <td>男</td>
                        <td>20~30</td>
                        <td>1730853800@qq.com</td>
                        <td><a id="delete">删除</a> <a id="update">修改</a></td>
                    </tr>-->
                </tbody>
            </table>

            <h4>个人信息编辑</h4>
            <form class="form-horizontal" id="userForm" method="post">
                <div class="control-group">
                    <label class="control-label" for="inputId">姓名:</label>
                    <div class="controls">
                        <input type="text" value="" οnblur="onblus('userName')" id="userName" placeholder="请输入姓名">
                        <span class="errors" id="userNameErr">姓名不能为空</span>
                    </div>
                </div>
                <div class="control-group">
                    <label class="control-label">性别:</label>
                    <div class="controls">
                        <label class="radio">
                            <input type="radio" name="sex" id="male" value="男" checked>
                            男
                        </label>
                        <label class="radio">
                            <input type="radio" name="sex" id="female" value="女">
                            女
                        </label>
                    </div>
                </div>
                <div class="control-group">
                    <label class="control-label">年龄:</label>
                    <div class="controls">
                        <select value="" id="age">
                            <option>10~20</option>
                            <option>21~30</option>
                            <option>31~40</option>
                            <option>41~50</option>
                            <option>其他</option>
                        </select>
                    </div>
                </div>
                <div class="control-group">
                    <label class="control-label" for="inputId">电子邮件:</label>
                    <div class="controls">
                        <input type="text" id="mail" οnblur="onblus('mail')" value="" placeholder="请输入电子邮件">
                        <span class="errors" id="mailErr">邮箱格式不正确</span>
                    </div>
                </div>
            </form>

            <div class="right">
                <button type="submit" id="submit" class="btn btn-primary">新增</button>  
                <button type="button" id="save" class="btn btn-primary">保存</button>
            </div>
        </div>
    </div>
    <hr>
    <footer class="footer">
        <div class="container">
            <div class="row footer-bottom">
                <ul class="list-inline text-center">
                    <li>Copyright © 2015-11-05 All Rights Reserved Powered By Taoyouxian</li>
                    <li>联系方式: 15061112860</li>
                </ul>
            </div>
        </div>
    </footer>
</body>
</html>


(3)CSS代码

body {
}

body {
    padding-top: 60px;
    padding-bottom: 10px;
}

li {
    list-style: none;
}

table thead tr th {
    text-align: center;
}

table tbody tr td {
    text-align: center;
}

#delete, #update {
    cursor: pointer;
}

h4 {
    padding-top: 10px;
}

.right {
    text-align: right;
}

.errors {
    color: red;
    visibility: hidden;
}

Eclipse:快捷键、Web工程建立、配置web.xml、debug模式调试get()、post()方法

web简单规范:UserList,类似于简单的信息管理系统(源代码联系楼主1730853800@qq.com)


2.学习经验

定期整理、收藏博客、多使用、多分享


3.数据库(SQL server)

五大约束:PK(主键)、FK(关系)、Unique(唯一键索引)、Default、Check

转载:http://blog.csdn.net/zhang_xinxiu/article/details/8861033,说明的很详细,关键在于实际操作

Check约束:sex='男' or sex='女'

PK:自增

Default:(getdate())

4.微信公众号开发

三种类型:订阅号(测试号)、服务号、企业号

(1)企业号:企业内部运动,类似于订阅号的编辑模式,有专门的后台

(2)订阅号:编辑模式、开发模式(需要配置信息,个人建议是花生壳映射)

开发用测试号(因为可以配置菜单)

微信测试号开发基础是access_token的获取与应用,通过一些get()、post(),注意java后台json数据与xml解析

JS-SDK最重要的是签名算法

(3)微信公众号管理平台

数据库配置表:T_AppMessage(订阅号与测试号)、T_WxUserInfo(关注用户信息表)、T_MessageRecord(用户发送信息表)、T_Medias(发送图片、语音、视频保存信息表)

5.四层架构

表示层UI、业务逻辑层(Business)、数据实体层(DataEntity)、数据访问层(DataAccess)

转载:http://mp.weixin.qq.com/s?__biz=MzAwNjA3NDMyOA==&mid=400769316&idx=6&sn=d7b6c6e4b2310a563c14a4ac52222935&scene=23&srcid=1121pZdBxcgAVI12MaMFJOtd#wechat_redirect

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值