相关疑难解决方法(0)

使用jQuery将表单数据转换为JavaScript对象

如何将表单的所有元素转换为JavaScript对象?

我想有一些方法从我的表单中自动构建一个JavaScript对象,而不必遍历每个元素.我不想要返回的字符串,$('#formid').serialize();也不想要返回的地图$('#formid').serializeArray();

javascript jquery serialization json

1580
推荐指数
21
解决办法
95万
查看次数

你能嵌套html表格吗?

是否可以嵌套像这样的html表单

<form name="mainForm">
  <form name="subForm">
  </form>
</form>
Run Code Online (Sandbox Code Playgroud)

这两种形式都有效吗?我的朋友遇到了这个问题,这是subForm作品的一部分,而另一部分却没有.

html nested-forms

434
推荐指数
12
解决办法
24万
查看次数

你如何克服html表单嵌套限制?

我知道xhtml不支持嵌套的表单标签,我已经
在stackoverflow中读到了关于这个主题的其他答案,但我仍然没有想出一个优雅的问题解决方案.

有人说你不需要它,他们想不到这种情况是需要的.好吧,我个人无法想到一个我不需要它的场景.

让我们看一个非常简单的例子:

您正在创建一个博客应用程序,并且您有一个表单,其中包含一些字段,用于创建新帖子和工具栏,其中包含"保存","删除","取消"等"操作".

<form
 action="/post/dispatch/too_bad_the_action_url_is_in_the_form_tag_even_though_conceptually_every_submit_button_inside_it_may_need_to_post_to_a_diffent_distinct_url"
method="post">

    <input type="text" name="foo" /> <!-- several of those here -->
    <div id="toolbar">
        <input type="submit" name="save" value="Save" />
        <input type="submit" name="delete" value="Delete" />
        <a href="/home/index">Cancel</a>
    </div>
</form>
Run Code Online (Sandbox Code Playgroud)

我们的目标是以不需要javascript的方式编写表单,只需要简单的旧HTML表单和提交按钮.

由于动作URL是在Form标签中定义的,而不是在每个单独的提交按钮中定义,我们唯一的选择是发布到通用URL,然后启动"if ... then ... else"来确定按钮的名称提交.不是很优雅,但我们唯一的选择,因为我们不想依赖javascript.

唯一的问题是,按"删除",将提交服务器上的所有表单字段,即使此操作所需的唯一内容是带有post-id的隐藏输入.在这个小例子中并没有什么大不了的,但我的表格中有数百个(可以这么说)我的LOB应用程序中的字段和标签(由于要求)必须一次性提交所有内容,无论如何这看起来效率很低而浪费.如果支持表单嵌套,我至少可以在其自己的表单中包含"删除"提交按钮,只包含post-id字段.

您可以说"只需实施"删除"作为链接而不是提交".这在许多层面都是错误的,但最重要的是因为像这里的"删除"这样的副作用动作永远不应该是GET请求.

所以我的问题(特别是那些说他们不需要形成嵌套的人)是你做什么的?是否有任何优雅的解决方案,我缺少或底线真的"要么需要javascript或提交一切"?

html forms nested

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

为什么以及何时需要展平JSON对象?

我很惊讶,之前没有人问过这个问题.

查看Json对象文档和快速谷歌搜索并没有产生令人满意的结果.

它的优点是什么?这个怎么运作?


编辑:为了清楚起见,请看一下这个展平/不展平的例子.

压缩/取消嵌套嵌套JSON对象的最快方法

谢谢.

javascript json flatten

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

将javascript点表示法对象转换为嵌套对象

我正在尝试构建一个扩展对象的函数,如:

{
    'ab.cd.e' : 'foo',
    'ab.cd.f' : 'bar',
    'ab.g' : 'foo2'
}
Run Code Online (Sandbox Code Playgroud)

进入嵌套对象:

{ab: {cd: {e:'foo', f:'bar'}, g:'foo2'}}
Run Code Online (Sandbox Code Playgroud)

喜欢这个php函数:Set :: expand()

当然不使用eval.

javascript

14
推荐指数
4
解决办法
6781
查看次数

一个衬垫来压平嵌套对象

我需要展平嵌套对象.需要一个班轮.不确定这个过程的正确用语是什么.我可以使用纯Javascript或库,我特别喜欢下划线.

我有 ...

{
  a:2,
  b: {
    c:3
  }
}
Run Code Online (Sandbox Code Playgroud)

而且我要 ...

{
  a:2,
  c:3
}
Run Code Online (Sandbox Code Playgroud)

我试过了 ...

var obj = {"fred":2,"jill":4,"obby":{"john":5}};
var resultObj = _.pick(obj, "fred")
alert(JSON.stringify(resultObj));
Run Code Online (Sandbox Code Playgroud)

哪个有效,但我也需要这个......

var obj = {"fred":2,"jill":4,"obby":{"john":5}};
var resultObj = _.pick(obj, "john")
alert(JSON.stringify(resultObj));
Run Code Online (Sandbox Code Playgroud)

javascript underscore.js

12
推荐指数
7
解决办法
3万
查看次数

Javascript:确定未知的数组长度并动态映射

我会尽力解释我想要做的事情.

我有两个模型,我和我收到的api响应.当项目api响应进来时,我需要将其映射到我的模型并插入所有项目.这当然很简单.这是问题所在,我需要在不知道自己在做什么的情况下这样做.我的代码将以两个字符串传递,一个是我的模型映射路径和一个api响应映射路径.

这是两条路

var myPath = "outputModel.items[].uniqueName"
var apiPath = "items[].name"
Run Code Online (Sandbox Code Playgroud)

基本上是所有itemsapiPath,推到itemsmyPath与设置uniqueName

它归结为我的代码不知道何时需要映射两个项目,或者即使它们包含数组或简单字段到字段路径.它们甚至可以包含多个数组,如下所示:

********************示例*************************

var items = [
    {
        name: "Hammer",
        skus:[
            {num:"12345qwert"}
        ]
    },
    {
        name: "Bike",
        skus:[
            {num:"asdfghhj"},
            {num:"zxcvbn"}
        ]
    },
    {
        name: "Fork",
        skus:[
            {num:"0987dfgh"}
        ]
    }
]

var outputModel = {
    storeName: "",
    items: [
        {
            name: "",
            sku:""
        }
    ]
};


outputModel.items[].name = items[].name;
outputModel.items[].sku = items[].skus[].num;
Run Code Online (Sandbox Code Playgroud)

************************这是上面的预期结果

var result = {
    storeName: "",
    items: [ …
Run Code Online (Sandbox Code Playgroud)

javascript arrays string json object

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

将复杂的JavaScript对象转换为点表示法对象

我有一个像这样的对象

{ "status": "success", "auth": { "code": "23123213", "name": "qwerty asdfgh" } }
Run Code Online (Sandbox Code Playgroud)

我想将其转换为点符号(一级)版本,如:

{ "status": "success", "auth.code": "23123213", "auth.name": "qwerty asdfgh" }
Run Code Online (Sandbox Code Playgroud)

目前我正在使用字段手动转换对象,但我认为应该有更好,更通用的方法来执行此操作.有没有?

注意:有一些示例显示相反的方式,但我找不到确切的方法.

注意2:我希望它与我的服务器端控制器动作绑定一起使用.

javascript syntax

9
推荐指数
3
解决办法
8571
查看次数

json对象的完整路径

我试图压扁一个对象,其中键将是叶节点的完整路径.我可以递归地识别哪些是叶节点但是试图构建整个路径.

样本输入:

{
  one: 1,
  two: {
    three: 3
  },
  four: {
    five: 5,
    six: {
      seven: 7
    },
    eight: 8
  },
  nine: 9
}

输出:

{
  one: 1,
  'two.three': 3,
  'four.five': 5,
  'four.six.seven': 7,
  'four.eight': 8,
  nine: 9
}

javascript algorithm tree

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

如何在C#中展平扁平的json

从这个答案我学会了如何在c#中展平JSON对象.来自JSON字符串:

{"menu": {
  "id": "file",
  "value": "File",
  "popup": {
    "menuitem": [
      {"value": "New", "onclick": "CreateNewDoc()"},
      {"value": "Open", "onclick": "OpenDoc()"},
      {"value": "Close", "onclick": "CloseDoc()"}
    ]
  }
}}
Run Code Online (Sandbox Code Playgroud)

至:

以下是字符串行,而不是对象

menu.id:file
menu.value:File
menu.popup.menuitem[0].value:New
menu.popup.menuitem[0].onclick:CreateNewDoc()
menu.popup.menuitem[1].value:Open
menu.popup.menuitem[1].onclick:OpenDoc()
menu.popup.menuitem[2].value:Close
menu.popup.menuitem[2].onclick:CloseDoc()
Run Code Online (Sandbox Code Playgroud)

现在,我想扭转这个过程.我可以从这个问题找到实现,但它是在JavaScript中.

如何unflatten(返回从行结构化JSON)在C#与json.net?

c# json flatten

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