相关疑难解决方法(0)

将表单序列化为javascript对象的特例

建立在这个问题$.fn.serializeObject()功能上,我希望能够在我的表单名称中支持"点符号",如下所示:

<form>
    <input name="Property.Items[0].Text" value="item 1" />
    <input name="Property.Items[0].Value" value="1" />
    <input name="Property.Items[1].Text" value="item 2" />
    <input name="Property.Items[1].Value" value="2" />
</form>
Run Code Online (Sandbox Code Playgroud)

给出$('form').serializeArray()产生以下内容:

[{"name":"Property.Items[0].Text","value":"item 1"},
 {"name":"Property.Items[0].Value","value":"1"},
 {"name":"Property.Items[1].Text","value":"item 2"},
 {"name":"Property.Items[1].Value","value":"2"}]
Run Code Online (Sandbox Code Playgroud)

我怎样才能达到以下所需的结果:

{Property: {Items: [{Text: 'item 1', Value: '1'},
                    {Text: 'item 2', Value: '2'}]} }
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

编辑:具体来说,所需的代码将被添加到serializeObject扩展中,这样除了它现在的工作方式之外,它还将支持上述约定.这是现有的方便方法.

$.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 || ''); …
Run Code Online (Sandbox Code Playgroud)

javascript jquery serialization

5
推荐指数
1
解决办法
922
查看次数

jQuery.POST - 使用Form.Serialize()传递另一个参数 - Asp.net MVC 3

当我在Asp.Net MVC应用程序上工作时,在我的应用程序中,我使用jQuery.POST方法提交表单.

例如

jQuery.post('/Product/Save', jQuery(document.forms[0]).serialize(), 
       function (data) { alert('Product Added Successfully.); }
);
Run Code Online (Sandbox Code Playgroud)

在上面的代码片段,我想通过另一个参数..让我们说... ProductID.

所以,这个想法是,我想通过这两个jQuery(document.forms[0]).serialize()ProductID variablejQuery.POST method,所以我既可以得到Form and ProductID我的controller's action method.

有人可以让我知道我会这样做吗?

提前致谢.

model-view-controller asp.net-mvc jquery asp.net-mvc-3

5
推荐指数
1
解决办法
1万
查看次数

jQuery和Spring MVC

实际上我正在尝试将数据从jQuery发送到Spring控制器,而在Spring控制器中我试图使用自定义bean获取数据@RequestBody.但我无法这样做.它不起作用.但是,当我发送相同的数据,因为@RequestParam它工作正常,但万一@RequestBody没有发生.我已经序列化了html表单并将该数据发布到控制器.我正在粘贴所有代码.我正在使用jQuery版本jquery-1.6.2.min.js,下面是我正在使用的jar列表:

commons-fileupload-1.1.1.jar
commons-io-1.2.jar
commons-logging-1.1.1.jar
hibernate-validator-4.0.2.GA.jar
jackson-all-1.7.6.jar
jackson-mapper-asl-1.5.2.jar
jstl-1.2.jar
log4j-1.2.14.jar
servlet-2.3.jar
slf4j-api-1.5.6.jar
slf4j-log4j12-1.5.6.jar
spring-asm-3.0.5.RELEASE.jar
spring-beans-3.0.5.RELEASE.jar
spring-context-3.0.5.RELEASE.jar
spring-core-3.0.5.RELEASE.jar
spring-expression-3.0.5.RELEASE.jar
spring-tx-2.5.5.jar
spring-web-3.0.5.RELEASE.jar
spring-webmvc-3.0.5.RELEASE.jar
validation-api-1.0.0.GA.jar
Run Code Online (Sandbox Code Playgroud)

以下是控制器代码:

package com.devmanuals.tutorial.controller;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import com.devmanuals.tutorial.service.ArithmeticService;

/**
 * Handles and retrieves the main requests
 */
@Controller
@RequestMapping("/main/ajax")
public class AjaxController {

    protected static Logger logger = Logger.getLogger("controller");

    @Resource(name="springService")
    private ArithmeticService …
Run Code Online (Sandbox Code Playgroud)

java jquery

5
推荐指数
1
解决办法
7843
查看次数

在Jquery中将表单转换为关联数组

我有以下表格:

<form id="editForm">
<input class="span12" name="name" type="text" placeholder="Product name...">
<input class="span12" name="sku" type="text" placeholder="SKU...">
<input name="basePrice" class="span12" type="text" placeholder="Base price...">
</form>
Run Code Online (Sandbox Code Playgroud)

如何将其转换为可以像下面这样访问的关联数组?

formArray ['name'],formArray ['sku'] ......等

javascript forms arrays jquery

5
推荐指数
1
解决办法
6337
查看次数

如何在 Jquery 中将 MVC 表单序列化为 JSON

我想使用 JQuery 将我的 MVC 表单序列化为 JSON,然后想在 C# 中反序列化一些值,例如后端输入字段的值,但我无法在 json 中序列化它......请帮助我解决这个问题。以下是我的代码.

<script type="text/javascript">
    $(function () {

        $('#btnsearch').click(function (e) {

            var searchname = $('#txtsearch').val();

            var form = $(this).serializeArray();

            DrawTable(form);
        });



        function DrawTable() {
            var props = [];
            props.push({ name: "FirstName", value: firstname });
            BindDataTable({ AllowPaging: true, ShowFilter: false, ShowEditLink: true, EmptyTableText: 'No Data Found', SortIndex: 0, SortDirection: "asc" },
                              "#tblCustomers",
                              "@Url.Action("GetAllCustomers", "Customer")",
                              props,
                              [{ name: "Id", cellClass: "alignCenter", Sortable: true, index: 0 }, { name: "FirstName" }, { name: "ABN" }, { …
Run Code Online (Sandbox Code Playgroud)

javascript c# asp.net-mvc jquery json

5
推荐指数
2
解决办法
4515
查看次数

如何使用新的 url 和一些参数重新加载数据表而不重新初始化它

我知道我可以使用 ajax.url 对数据表发出 ajax 请求,如下所示

var table = $('#example').DataTable( {
    ajax: "/mylink"
} );

...

table.ajax.url( 'newData.json' ).load();
Run Code Online (Sandbox Code Playgroud)

但是如何使用相同的语法将数据作为参数传递给 url?我尝试一下table.ajax.url( 'mylink' ).data(myData).load();。显然这不是解决方案。

我不想为了使用而破坏并重新初始化数据表:

...
"ajax" : {
        "url" : "mylink",
        "data" : myData
 }
 ...
Run Code Online (Sandbox Code Playgroud)

我该怎么办?使用现有初始化表(此处为 js var 表)的语法是什么?谢谢

ajax datatables

4
推荐指数
1
解决办法
7615
查看次数

将表单数据转换为对象

我不想将数据发布到我想将其传递到接收对象的客户端函数的服务器上.最好的方法是什么?

javascript

3
推荐指数
1
解决办法
2341
查看次数

使用jQuery数据表服务器端处理mvc.序列化条件表单并将此参数添加到$ ajax.post方法

我正在使用mvc和jquery数据表,并进行服务端处理.

我创建了两个类模型:第一个jQueryParamModel,将dataTables参数传递给动作控制器

public class JQueryDataTableParamModel
{
    /// <summary>
    /// Request sequence number sent by DataTable, same value must be returned in response
    /// </summary>       
    public string sEcho{ get; set; }

    /// <summary>
    /// Text used for filtering
    /// </summary>
    public string sSearch{ get; set; }

    /// <summary>
    /// Number of records that should be shown in table
    /// </summary>
    public int iDisplayLength{ get; set; }

    /// <summary>
    /// First record that should be shown(used for paging)
    /// </summary>
    public int …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc jquery-datatables

3
推荐指数
1
解决办法
4294
查看次数

Javascript - Formdata

尝试将表单加载到FormData对象中,但它只是创建一个空的FormData,我可以提醒表单对象(显示HTMLFORMOBJECT),如果我删除e.preventDefault,它会将名称/值配对到url但是FormData没有不行.我甚至尝试使用隐藏输入创建虚拟表单,但它们不会加载到FormData中

JAVASCRIPT

$('#create-element-form').submit(function(e) {
    e.preventDefault();
    var formdata = new FormData(document.getElementById('create-element-form'));
    alert(formdata.get('name'));
});
Run Code Online (Sandbox Code Playgroud)

HTML

<form id="create-element-form">
    <div class="form-group">
        <input type="text" class="form-control" name="name" placeholder="Element Name" maxlength="100" required/>
    </div>
    <div class="form-group">
        <input type="text" class="form-control text-number-input" name="backups" placeholder="Number of backups for element" maxlength="100" required/>
    </div>
    <button type="submit" class="btn btn-default btn-lg btn-block">Create Element</button>
</form>
Run Code Online (Sandbox Code Playgroud)

它只是提醒

undefined
Run Code Online (Sandbox Code Playgroud)

我觉得这可能是我想念的简单事情

javascript jquery dom

3
推荐指数
1
解决办法
252
查看次数

如何从jQuery中的表单获取所有输入字段?

可能重复:
使用jQuery获取表单输入字段吗?

我的表格有很多输入字段

将表格中的所有输入字段都获取到的最简单方法是array什么?

Key:Value成对的对象

javascript jquery

2
推荐指数
1
解决办法
4940
查看次数

jquery表单使用load方法序列化

我想知道如何使用jQuery LOAD函数为表单提交POST数据,发送表单的序列化数据.

所以,举个例子,我该怎么做:

$('someElement').click(function(){
    var formData = $('formHere').serialize();
    $('anotherElement').load('somePage', formData);
)};
Run Code Online (Sandbox Code Playgroud)

就目前而言,这不起作用 - 如果不发布数据,而是发送GET请求.我不想开始使用$ .post方法(因为我只是不想!),我在这里做错了吗?

解决方案:使用serialiazeArray代替 - 如同

var formData = $('formHere').serializeArray()
Run Code Online (Sandbox Code Playgroud)

jquery

1
推荐指数
1
解决办法
6827
查看次数

ASP .NET MVC + Submit + JSON

我需要在一个请求中发送模型数据和JSON数据.这是什么意思:

如果我使用此函数发送JSON数据:

    $("#SaveOrder").click(function () {
        $.ajax({
            url: '/Manager/AddOrder',
            type: 'POST',
            dataType: 'json',
            data: $.toJSON(ResultArray),
            contentType: 'application/json; charset=utf-8'
        });
    });
Run Code Online (Sandbox Code Playgroud)

我有

public ActionResult AddOrder(SUPNew.Models.Order newOrder, List<OrderList> ResultArray)

SUPNew.Models.Order newOrder = null  
List<OrderList> ResultArray = not null
Run Code Online (Sandbox Code Playgroud)

但如果我发送请求,<input type="submit">我有

SUPNew.Models.Order newOrder = not null  
List<OrderList> ResultArray = null
Run Code Online (Sandbox Code Playgroud)

如何在一个请求中发送jQuery数组(JSON数据)和SUPNew.Models.Order?


ResultArray- $ .toJSON(ResultArray)的内容,其中ResultArray是jQuery数组,如:

var CurrentOrder =
            [{
                'ProviderAn': $("#DdlProviders").val(),
                'ItemAn': $("#DdlItems").val()
            }];
Run Code Online (Sandbox Code Playgroud)

这是MVC 2

.net ajax asp.net-mvc json

0
推荐指数
1
解决办法
4598
查看次数