在发送的JavaScript Ajax.BeginForm阵列 [英] send javascript array in Ajax.BeginForm
本文介绍了在发送的JavaScript Ajax.BeginForm阵列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我工作的项目,我有要求送JavaScript数组selectedZonesList,表单数据一起保存数据回控制器。我被赋予了一个建议使用Ajax.BeginForm ...但我奋力把所有零件togather非常感谢...
局部图
@using(Html.BeginForm(CreateNewFeeScheme,资格,FormMethod.Post,新{ID =NewFeeSchemeForm}))
{
@ Html.AntiForgeryToken()
@ Html.ValidationSummary(真) // code休息采取用户输入的所有变量..<输入类型=提交值=创建类=BTN BTN-默认的/>
}
JavaScript函数
<脚本类型=文/ JavaScript的> VAR selectedZonesList =新的Array(); 功能AddFeeZoneToScheme(五)
{ VAR entityGrid = $(#FeeZoneGrid_02)的数据(kendoGrid); 变种selectedZone = entityGrid.dataItem(entityGrid.select()); selectedZone = selectedZone.FeeZoneID; selectedZonesList.push(selectedZone);
}< / SCRIPT>
控制器
[HttpPost]
公众的ActionResult CreateNewFeeScheme(FeeScheme newSchemeData,??????)
{
解决方案
我有两个数据一起发送的问题,但由于ramiramilu指导,我必须弄明白该解决方案....
获取SerializeObject插件
$。fn.serializeObject =功能()
{
VAR O = {};
变种一个= this.serializeArray();
$。每个(一,函数(){
如果(O [this.name]){
如果(O![this.name] .push){
Ø[this.name] = [问题o [this.name]];
}
Ø[this.name] .push(THIS.VALUE ||'');
}其他{
Ø[this.name = || THIS.VALUE '';
}
});
返回O;
};
剧本
函数submit_createNewFeeScheme()
{ $阿贾克斯({
键入:邮报,
URL:/资格/ CreateNewFeeScheme
数据类型:JSON
的contentType:应用/ JSON的;字符集= UTF-8,
数据:JSON.stringify({ZonesList:selectedZonesList,newFeeSchemeData:$(#NewFeeSchemeForm)serializeObject()})
成功:功能(数据){
警报(数据);
},
错误:功能(jqXHR,textStatus,errorThrown){
}
});
}
I am working on project and i got requirement to send javaScript array "selectedZonesList", holding data back to controller along with form data. I been given one suggestion to use Ajax.BeginForm ... but i am struggling to put all parts togather many thanks...
in partial view
@using (Html.BeginForm("CreateNewFeeScheme", "Qualification", FormMethod.Post, new { id = "NewFeeSchemeForm" }))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
//rest of code to take user input for all variables ..
<input type="submit" value="Create" class="btn btn-default" />
}
JavaScript function
<script type="text/javascript">
var selectedZonesList = new Array();
function AddFeeZoneToScheme(e)
{
var entityGrid = $("#FeeZoneGrid_02").data("kendoGrid");
var selectedZone = entityGrid.dataItem(entityGrid.select());
selectedZone = selectedZone.FeeZoneID;
selectedZonesList.push(selectedZone);
}
</script>
Controller
[HttpPost]
public ActionResult CreateNewFeeScheme(FeeScheme newSchemeData, ??????)
{
解决方案
i have issue of send both data together but thanks to ramiramilu guide, i have figure out the solution ....
Get SerializeObject plugin
$.fn.serializeObject = function()
{
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name]) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
script
function submit_createNewFeeScheme()
{
$.ajax({
type: "Post",
url: "/Qualification/CreateNewFeeScheme",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({ ZonesList: selectedZonesList, newFeeSchemeData: $("#NewFeeSchemeForm").serializeObject() }),
success: function (data) {
alert(data);
},
error: function (jqXHR, textStatus, errorThrown) {
}
});
}
这篇关于在发送的JavaScript Ajax.BeginForm阵列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文