问题form表单提交请求
<form id="searchForm" method="post">
<%--其中的name,id属性非常重要,我们可以通过很多种方式获得其中的值--%>
用户名: <input name="username" class="easyui-textbox" style="width:80px">
邮件: <input name="email" class="easyui-textbox" style="width:80px">
<%--valueField 这个属性为前端传过来存入其中我们需要确定是否为id
textField需要确定是否为text--%>
部门<input class="easyui-combobox" name="departmentId"
data-options="valueField:'id',textField:'name',url:'/department/findAll'" />
<a href="#" data-method="search" class=" easyui-linkbutton" iconCls="icon-search">Search</a>
</form>
知识兔这里和我们以前提交的时候有很多不同,怎么接收参数,点击提交的时候怎么把参数和请求等东西传过去
这里的解决办法为在<a href="#" data-method="search" class=" easyui-linkbutton" iconCls="icon-search">Search</a>
data-method="search"这个方法,然后我们在js中写入对应的动态调用
$(function () {
//为什么需要提取出来,把我们这种数据提前加载出来,1.提高性能
//2.当我们做修改的时候
var employeeGrid=$('#employeeGrid');
var searchForm=$('#searchForm');
$("*[data-method]").on("click",function () {
jiedada[$(this).data("method")]();
});
var jiedada={
/*高级查询,首先获得参数,然后去查询,返回数据,刷新页面
* */
search:function () {
/*把表单种的数据转化为对象,但是必须通过name属性
这个方法需要导入扩展包,jquery.jdrik.js才能实现
* */
var param = searchForm.serializeObject();
/*
使用datagrid刷新数据,并且传入参数,
因为employeeGrid在发送的时候几经发送了url,
所以我们可以直接传入参数
使用第二种方式
employeeGrid.datagrid('load',{
username:$('#username'),
email:$('#email'),
});
*/
知识兔/*这里我们加载的时候回去datagrid中找到请求,发送请求所以我们不需要发送
但是前后请求中要能够接收这样的参数
* */
employeeGrid.datagrid('load',param); },