Ext.Ajax.request批量提交表单
介绍一下批量提交grid中数据的问题
js文件中的提交方法如下:
listeners: {
click: function btnClick(button) {
var win = button.up('window');
var form = win.down("form");
var loadMarsk = new Ext.LoadMask(win, {//元素、DOM节点或id, {
msg: '正在执行,请稍候...',
removeMask: true// 完成后移除
});
loadMarsk.show();
var grid = form.down("grid");
var store = grid.getStore();
//
//var store = win.down("grid").getStore();
var m = store.getRange(0, store.getTotalCount()); //store.getModifiedRecords().slice(0);
var jsonArray = [];
Ext.each(m, function (item) {
jsonArray.push(item.data);
});
Ext.Ajax.request({
method: 'POST',
url: '/FoolProof/Savelist',
success: function (response) {
var o = Ext.decode(response.responseText.toString());
var center_store = Ext.ComponentQuery.query("Ali_FoolProofCenterList")[0].getStore();
center_store.loadPage(1);
console.log(o);
Ext.Msg.alert('提示', o.data.message);
loadMarsk.hide();
},
failure: function () {
Ext.Msg.alert("错误", "与后台联系的时候出了问题。");
loadMarsk.hide();
},
params: 'data=' + encodeURIComponent(Ext.encode(jsonArray))
});
win.close();
}
}
------------------------------------
controller中的方法如下:
public JsonResult Savelist(string data)
{
return this.ReturnAjaxResultJson(() =>
{
try
{
string list = HttpUtility.UrlDecode(data);
if (list.StartsWith("[") == false)
{
list = "[" + list;
}
if (list.EndsWith("]") == false)
{
list = list + "]";
}
List<FoolProofCenter> instanceList = JsonConvert.DeserializeObject<List<FoolProofCenter>>(list);
int result = nService.Savelist(instanceList, CurrentUser.USER_ID);
if (result > 0)
{
return SingleReturnObject.BuildSingleInfo(true, "保存成功!", null);
}
else
{
return SingleReturnObject.BuildSingleInfo(true, "保存失败!", null);
}
}
catch (Exception e)
{
return SingleReturnObject.BuildSingleInfo(false, e.Message, null);
}
});
}
--------------向grid中插入l临时数据--------------------------------
---------------查找记录是否存在,不存在插入store中-------------------
{
text: "Add",
action: "Add",
listeners: {
click: function (btn) {
var form = btn.up("form");
if (!form.isValid()) {
return;
}
var obj = form.getValues();
var fct_name = form.down("combo[name=FactoryCode]").getRawValue();
var line_name = form.down("combo[name=Line]").getRawValue();
var grid = form.down("grid");
var myStore = grid.getStore();
var pk_value = obj.FactoryCode + obj.Line + obj.GBMCode + obj.ApplyArticleCode + obj.ApplyLocation;
var existRecord = myStore.findRecord("pk", pk_value, 0, false, false, true);
//console.log(existRecord);
if (existRecord == null) {
var s = Ext.String.format(
'([{"FCT_CODE":"{0}", "LINE_CODE":"{1}", "GBM_CODE":"{2}", "FPRF_APLY_ART_CODE":"{3}", "APLY_LOC_CODE":"{4}", "RMK":"{5}","DEL_YN":"{6}", "USE_YN":"{7}", "FCT_NM":"{8}", "LINE_NM":"{9}","pk":"{10}"}])'
, obj.FactoryCode, obj.Line, obj.GBMCode, obj.ApplyArticleCode, obj.ApplyLocation, obj.Remark, "N", obj.ResultYN, fct_name, line_name,pk_value);
//console.log(s);
var record = eval(s);
myStore.insert(0, record);
myStore.sort();
grid.getView().refresh();
}
}
}
},
-------------grid中定义store---------------------------
xtype: "grid",
store: Ext.create('Ext.data.Store', {
fields: ["FCT_CODE", "LINE_CODE", "GBM_CODE", "FPRF_APLY_ART_CODE", "APLY_LOC_CODE", "RMK",
"DEL_YN", "USE_YN", "FCT_NM", "LINE_NM", "pk"],
data: {
'items': [
//{ 'FileName': '', "FilePath": "", "Result": "" }
]
},
proxy: {
type: 'memory',
reader: {
type: 'json',
root: 'items'
}
}
}),
--------------------------------------------------------------
store: Ext.data.StoreManager.lookup('employeeStore'),
----------------------------------------------------------
Ext.Ajax.request批量提交表单的更多相关文章
- Ajax 跨域提交表单
跨域提交表单,前端ajax不用做任何修改, 只需要在后端调用的方法里面添加一行代码即可. .NET 版 HttpContext.Response.AddHeader("Access-Cont ...
- Ajax无刷新提交表单和显示
ajax无刷新表单提交: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...
- 不使用ajax,无刷新提交表单
<form action="form_action.asp" method="get" onsubmit"check_form()" ...
- TP 框架 ajax[利用异步提交表单]
//[] $(function () { $("#send-btn" ).click(function (){ //接受表单的值 var username=$('input[nam ...
- ajax.BeginForm异步提交表单并显示更新数据
view代码: <!--基本信息模块--> 2 <div class="profile_box" id="basicInfo"> 3 & ...
- 关于ajax直接提交表单jQuery .validator验证不起作用问题
之前用$.ajax(function(){});直接提交表单,而表单验证不通过也能提交. $(document).ready(function(){ $.ajax({ url:" ...
- 不使用Ajax,如何实现表单提交不刷新页面
不使用Ajax,如何实现表单提交不刷新页面? 目前,我想到的是使用<iframe>,如果有其他的方式,后续再补. 举个栗子: 在表单上传文件的时候必须设置enctype="mul ...
- Yii框架用ajax提交表单时候报错Bad Request (#400): Unable to verify your data submission.
提交表单报400错误,提示 "您提交的数据无法验证"原来是csrf验证的问题,因为表单是自己写的,在Yii框架中,为了防止csrf攻击,对post的表单数据封装了CSRF令牌验证. ...
- lavarel框架中如何使用ajax提交表单
开门见山,因为laravel以post形式提交数据时候需要加{{csrf_field()}}防止跨站攻击,所以当你用ajax提交表单时候自然也要加 在网上看了很多的解决方式,我是用下面这种方法解决的: ...
随机推荐
- LeetCode(190) Reverse Bits
题目 Reverse bits of a given 32 bits unsigned integer. For example, given input 43261596 (represented ...
- mongodb v2.4.9 快速操作记录
参考链接:http://www.runoob.com/mongodb/mongodb-tutorial.html oschina链接:https://gitee.com/dhclly/icedog.s ...
- luogu2293 [JSOI2008]Blue Mary开公司
ref好像叫什么李超线段树?--这篇不是太通用-- #include <iostream> #include <cstdio> #include <cmath> u ...
- RHEL6.X设置163yum源
目录 RHEL6.X设置163yum源 卸载系统的yum 检查是否已经卸载完成 下载yum以及相关包 安装yum相关rpm包 清除原有缓存,建立yum列表 本地yum源设置 挂载本地光盘 修改配置文件 ...
- 了解CSS核心精髓(一)
CSS 1.css外联 正确写法:<link rel="stylesheet" href="css/style.css" /> <style ...
- Selenium WebDriver- 使用显示等待,判断搜狗的输入框是否显示,按钮是否可点击,然后在输入光荣之路搜索词,然后在点击搜索。
#encoding=utf-8 from selenium import webdriver import time from selenium.webdriver.common.by import ...
- grep搜索当前目录下的所有文件的内容
比如: grep print * -nR 搜索当前目录下所有文件的内容中含有print的行
- Django创建并连接数据库(实现增删改查)--第二版
注意点一: url里面的地址,不只是html页面,准确说是views视图里面对应的函数方法 <!DOCTYPE html> <html lang="en"> ...
- Model View Controller(MVC) in PHP
The model view controller pattern is the most used pattern for today’s world web applications. It ha ...
- fish shell安装和配置
sudo apt-get install fish whereis fish chsh -s /usr/bin/fish 重启: