之前用AJax给Controller传递參数,然后再调用服务端的方法对数据库进行更改,今天碰到一个新的方法,就是表单的提交。这样能够省去AJax穿參。当表单提交后。我们能够获取表单上控件中的值,然后再调用服务端的方法对数据库进行更改。以下的一张截图是详细的业务需求。

    一、要实现的功能:从上面这个表单中,获取控件中的值。然后传递给后台。以下是表单代码。

    二、表单代码

<div id="Editwin" class="easyui-window" title="编辑班级信息" style="width: 400px; height: auto;top:105px" data-options="closed:true,collapsible:false,minimizable:false,maximizable:false">
<div style="margin-top: 30px; margin-bottom: 30px; margin-left: 70px;">
<form id="EditForm" method="post">
<table>
<tr>
<td>班级名称:</td>
<td>
<input class="easyui-validatebox" type="text" id="EditClassName" name="ClassName" data-options="required:true,validType:['maxLength[20]']"/>
</td>
</tr>
<tr>
<td>
<input style="display:none" class="easyui-textbox" type="text" id="EditClassID" name="ClassID" data-options="required:true"/>
</td>
</tr>
<tr>
<td>所属机构:</td>
<td>
<input id="EditOrganizationID" class="easyui-combobox" name="OrganizationName1" data-options="required:true"/>
</tr>
<tr>
<td>年级:</td>
<td>
<input id="EditGradeID" class="easyui-combobox" name="GradeName" data-options="required:true"/>
</tr> <tr>
<td>备注:</td>
<td>
<textarea class="easyui-validatebox" id="NoteId" name="Note" validType:['maxLength[50]></textarea>
</tr>
</table> <div style="margin-top: 20px;">
<a class="easyui-linkbutton" data-options="iconCls:'icon-ok'" style="margin-left: 10px;" onclick="EditsubmitForm()">确定</a>
<a class="easyui-linkbutton" data-options="iconCls:'icon-cancel'" style="margin-left: 60px;" onclick="EditclearForm()">取消</a>
</div>
</form>
</div>
</div>

    三、表单提交代码 

function EditsubmitForm() {
$('#EditForm').form('submit', {
url: "/BasicClass/ModifyClassInfo",
onSubmit: function () { //表单提交前的回调函数
var isValid = $(this).form('validate');//验证表单中的一些控件的值是否填写正确,比方某些文本框中的内容必须是数字
if (!isValid) {
}
return isValid; // 假设验证不通过,返回false终止表单提交
},
success: function (data) { //表单提交成功后的回调函数。里面參数data是我们调用/BasicClass/ModifyClassInfo方法的返回值。
if (data > 0) {
$.messager.show({
title: '提示消息',
msg: '提交成功',
showType: 'show',
timeout: 1000,
style: {
right: '',
bottom: ''
}
});
$('#dg').datagrid('reload'); // 又一次加载当前页面数据
$('#Editwin').window('close'); //关闭窗体
}
else {
$.messager.alert('提示信息', '提交失败,请联系管理员!', 'warning');
}
}
});
}

    四、后台Controller获得表单中的数据

   //获得要加入的班级的名称
string ClassName = Request.Form["ClassName"];
//获得班级ID
Guid ClassID = new Guid(Request.Params["ClassID"]);
string ClassNote = Request.Form["Note"];

    五、小结

    初学乍练,感觉比AJax传參好用多了,由于AJax穿參时须要将各个參数的名字所有写进去。而表单提交时,默认将表单中的内容所有传送过去。这样表单中仅仅要有什么数据我们就能够在后台获取什么数据,当然了。这些数据是提前绑定好的,或者是我们之前填写好的。给上面这个表单中控件绑定默认数据在我前几篇博客中有,大家能够看看。

《MVC +EasyUI 》——表单的提交的更多相关文章

  1. Spring MVC与表单日期提交的问题

    Spring MVC与表单日期提交的问题 spring mvc 本身并不提供日期类型的解析器,需要手工绑定, 否则会出现非法参数异常. org.springframework.beans.BeanIn ...

  2. Spring MVC 3 表单中文提交post请求和get请求乱码问题的解决方法

    在spring mvc 3.0 框架中,通过JSP页面.HTML页面以POST方式提交表单时,表单的参数传递到对应的servlet后会出现中文显示乱码的问题.解决办法可采用spring自带的过滤技术, ...

  3. Jquery插件easyUi表单验证提交

    <form id="myForm" method="post"> <table align="center" style= ...

  4. spring mvc防止表单重复提交的代码片段

    1.定义一个token接口 package com.bigbigrain.token; import java.lang.annotation.Documented; import java.lang ...

  5. Spring MVC实现防止表单重复提交(转)

    Spring MVC拦截器+注解方式实现防止表单重复提交  

  6. spring mvc form表单提交乱码

    spring mvc form表单submit直接提交出现乱码.导致乱码一般是服务器端和页面之间编码不一致造成的.根据这一思路可以依次可以有以下方案. 1.jsp页面设置编码 <%@ page ...

  7. easyui表单提交,后台获取不到值

    J2ee开发,使用easyui表单提交,在ie中可以正常将参数传递到后台,但使用firefox,chrome都无法将easyui的combobox值传递到后台,使用alert($('#form').s ...

  8. 使用js控制表单重复提交(1加锁,2事件方式,3 EasyUI中解决表单重复提交)

    方法一. var flag = true; $(function() { $("#interested").click(function() { beInterested(); } ...

  9. 雷林鹏分享:jQuery EasyUI 表单 - 创建异步提交表单

    jQuery EasyUI 表单 - 创建异步提交表单 本教程向您展示如何通过 easyui 提交一个表单(Form).我们创建一个带有 name.email 和 phone 字段的表单.通过使用 e ...

随机推荐

  1. Delphi 中ASSERT用法

    http://blog.csdn.net/dongyonggan/article/details/5780979 用法:ASSERT(表达式) 如果为假,ASSERT会产生一个EASSERTIONFA ...

  2. rocketmq,zookeeper,redis分别持久化的方式

    1.rocketmq持久化: RocketMQ 的所有消息都是持久化的, 先写入系统 PAGECACHE, 然后刷盘, 可以保证内存与磁盘都有一份数据,访问时,直接从内存读取. RocketMQ 的所 ...

  3. Java RSA加密算法生成公钥和私钥

    原文:http://jingyan.baidu.com/article/6dad5075f33466a123e36ecb.html?qq-pf-to=pcqq.c2c 目前为止,RSA是应用最多的公钥 ...

  4. Unity3D 手游开发中所有特殊的文件夹

    这里列举出手游开发中用到了所有特殊文件夹. 1.Editor Editor文件夹可以在根目录下,也可以在子目录里,只要名子叫Editor就可以.比如目录:/xxx/xxx/Editor  和 /Edi ...

  5. QT5的程序打包发布(将QT5的工程项目打包成一个exe程序)

    最近,在学习QT5的过程中,想尝试着把自己写的工程程序给打包发布出来,在任何一台windows系统都能运行,这样就不会限于电脑需不需要安装QT安装包了. 首先,先介绍自己使用的环境.我使用的QT版本是 ...

  6. nmap原理及使用方法

    NMap,也就是Network Mapper,是Linux下的网络扫描和嗅探工具包. 1简介 nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端.确定哪些服务运行在哪些连接端,并且推断 ...

  7. iOS 程序从开发完到上 AppStore 那点事儿

    收录待用,修改转载已取得腾讯云授权 一.账号体系 想要进行iOS开发,除了必备一台装有Mac OS X/Xcode的Mac开发机(iMac or MacBook)之外,还必须要有苹果开发者账号,只有拥 ...

  8. ubuntu16.04彻底卸载mysql并且重新安装mysql

    首先删除mysql: sudo apt-get remove mysql-* dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P 清理完毕: ...

  9. Microsoft.VisualStudio.DebuggerVisualizers.dll 文件位置 for VisualStudio 2015

    可视化调试工具(Microsoft.VisualStudio.DebuggerVisualizers) "C:\Program Files (x86)\Microsoft Visual St ...

  10. next 前缀字符串

    我们在一个母字符串中查找一个子字符串有很多方法.KMP是一种最常见的改进算法,它可以在匹配过程中失配的情况下,有效地多往后面跳几个字符,加快匹配速度. 当然我们可以看到这个算法针对的是子串有对称属性, ...