在发送的JavaScript Ajax.BeginForm阵列 [英] send javascript array in Ajax.BeginForm

查看:185
本文介绍了在发送的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆