1. 本章任务
上一章已实现了项目信息的分页浏览,本章来实现新增项目的功能。为了方便用户使用,我们通过弹窗来实现项目信息的输入。最终达到如下效果:
2. 添加新增按钮
在body中添加操作栏,并在操作栏中添加新增按钮
<body>
<div class="tool-box"><!-- 操作栏 -->
<a id="btn" onclick="btnAddClick()" href="#" class="easyui-linkbutton"
data-options="iconCls:'icon-add'">新增</a>
</div>
<table id="mainTable" title="项目列表" class="easyui-datagrid"
url="CoreServlet?method=getProjectPage" pagination="true"
singleSelect="true" fitColumns="true">
<thead>
<tr>
<th data-options="field:'id',width:50">序号</th>
<th data-options="field:'type',width:50">类型</th>
<th data-options="field:'name',width:50">名称</th>
<th data-options="field:'about',width:100">简介</th>
</tr>
</thead>
</table>
</body>
然后稍微调下样式:
.tool-box {
margin-bottom: 12px;
}
1
2
3
3. 点击新增后弹窗
注意新增绑定了btnAddClick方法,所以在此方法中可以操作弹窗。
<script>
function btnAddClick() {
$('#dialog-add').dialog('open');
}
</script>
1
2
3
4
5
解释下,执行btnAddClick方法后,id为dialog-add的弹窗将显示在页面上。
4. 弹窗代码编辑
我们根据需要开发下弹窗代码:
<!-- 新增弹窗 -->
<div id="dialog-add" class="easyui-dialog" title="新增" data-options="iconCls:'icon-ok',closed:'true'"
style="width: 600px; height: 400px; padding: 10px">
<table>
<tr>
<td>类型:</td>
<td>
<select id="add-type" class="easyui-combobox" style="width: 200px;">
<option value="award">奖学金</option>
<option value="help">助学金</option>
</select>
</td>
</tr>
<tr>
<td>名称:</td>
<td><input id="add-name" class="easyui-textbox" style="width: 200px"></td>
</tr>
<tr>
<td>简介:</td>
<td><input id="add-about" class="easyui-textbox" style="width: 200px"></td>
</tr>
<tr>
<td></td>
<td><a id="btn" onclick="btnAddSubmit()" href="#" class="easyui-linkbutton">保存</a></td>
</tr>
</table>
</div>
注意使用class="easyui-dialog"样式后,div默认隐藏,并且在显示时会将内容显示为弹窗样式。
5. 提交新增内容
点击保存按钮,执行btnAddSubmit方法,如下。注意新增成功后,需要重新加载数据表格,以便从界面上显示新增的项目信息。
// 新增保存
function btnAddSubmit() {
var param = {
type: $("#add-type").val(),
name: $("#add-name").val(),
about: $("#add-about").val(),
}
$.ajax({
url: "CoreServlet?method=addProject",
type: "post",
dataType: "json",
data: param,
success: function (res) {
console.log(res);
if (res.code == 0) {//成功则刷新表格
$('#mainTable').datagrid('reload');
$('#dialog-add').dialog('close');//关闭新增弹窗
} else {//提示错误信息
alert(res.msg);
}
},
});
}
6. 后台处理
后台处理就很简单了,接收前端输入的参数然后插入数据库就OK。
// 新增项目保存
else if (method.equals("addProject")) {
ProjectDao projectDao = new ProjectDao();
Project project = new Project();
project.setType(request.getParameter("type"));
project.setName(request.getParameter("name"));
project.setAbout(request.getParameter("about"));
projectDao.insert(project);
result.setCode(0);
result.setMsg("操作成功");
}
7. 测试
重启tomcat可进行测试验证,大功告成。