From 表单的快速提交

不负遇见。。。 2019-07-28 09:36:46
今天我想跟大家讲一下from 表单提交,提交对数据的请求,这个大家并不陌生;大家最常用的提交操作就是获取值—赋值提交。这时候也产生一个问题,如果你的input框在一个表单里面有100多个;你要获取全部的数据,再一个个进行赋值,这就是一个漫长而又无聊的操做了;
这时候就有种作法的名称叫做from表单的提交,这个最大的作用就在与,你获取值之后运用from表单
提交的方法就可以不用一个个赋值,只需要表单name 值和数据库所存取的字段相同,就可以把值提交过去。
< form action="/EssentialData/Essential/InsertExaminee" method="post" id="frmStuInfor" onsubmit=" return false;" > < /form>
Action:是表单提交的指定路径与控制器的请求方法名称相同,
Method: 为提交方法,
onsubmit=" return false;这个为了预防表单的提交;from表单都有一个自动提交的功能;如果不设置这个的话可能会照成表单的二次提交。
注意事项:表单提交路径是一个方面;但是还存在一个方面:新增与修改共用一个模态窗体,from表单的路径只要一个地方写;这时候你可以在新增或者修改的时候就对它的路径进行指定名称。
这种作法可以防止新增与修改提交的方法发生混乱失误;
提交前指定路径
$("#frmStuInfor").attr("action", "/EssentialData/Essential/InsertExaminee") ;
表单提交;也可以根据表单回填;
当然:这里我所说的表单回填数据不是往常的回填操作可以实现的;这个主要是通过封装一个方法来实现的;
$.post("SelectNoticeByNoticeID?NoticeID=" + noticeId, function (data) {
loadDatatoForm("fromNotice", data); //表单数据回填 from表单回填
});
表单回填的方法封装。
function loadDatatoForm(fromId, jsonDate) {
var obj = jsonDate;
var key, value, tagName, type, arr;
for (x in obj) {//循环json对象
key = x;
value = obj[x];
//$("[name='"+key+"'],[name='"+key+"[]']").each(function(){
//更加form表单id 和 json对象中的key查找 表单控件
$("#" + fromId + " [name='" + key + "'],#" + fromId + " [name='" + key + "[]']").each(function () {
tagName = $(this)[0].tagName;
type = $(this).attr('type');
if (tagName == 'INPUT') {
if (type == 'radio') {
$(this).attr('checked', $(this).val() == value);
} else if (type == 'checkbox') {
try {
//数组
arr = value.split(',');
for (var i = 0; i < arr.length; i++) {
if ($(this).val() == arr[i]) {
$(this).attr('checked', true);
break;
}
}
} catch (e) {
//单个
$(this).attr('checked', value);
}
} else {
$(this).val(value);
}
} else if (tagName == 'TEXTAREA') {
$(this).val(value);
} else if (tagName == 'SELECT') {
//console.log($(this).hasClass("select2"));
if ($(this).hasClass("select2")) {
//select2 插件的赋值方法
$(this).val(value).trigger("change");
} else {
$(this).val(value);
}
}
});
}
}
这个是from表单回填的方法的封装;大家如果有需要可以拷贝这个代码去封装再去引用一下即可;
注:此代码为老师上课案例截取;在实际运用中发现带来很大的方便;就在这里跟大家分个享;希望对你有所帮助。
好了,今天的内容就这么多;希望对你有所帮助。不足之处请多多包涵;
...全文
31 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

493

社区成员

发帖
与我相关
我的任务
社区描述
硬件使用 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧