【问题标题】:Jquery Form to insert into a table and on submit of the main form submit the table to ASP.NET MVC ControllerJquery 表单插入到表中并在提交主表单时将表提交到 ASP.NET MVC 控制器
【发布时间】:2009-10-13 15:30:36
【问题描述】:

这听起来有点令人费解,但基本上我希望在表单中有一个表单,将项目提交到表中的父表单或类似的东西,然后将其与父表单一起提交给 asp.net 控制器,所以我可以将其移至数据库。

有人知道这样做的方法吗?我知道我可以使用 jquery 轻松地注入表中,但主要是将注入的表数据放入我的 formcollection 或其他东西中,以便我可以在控制器中获取它

为澄清而编辑:我正在尝试制作订单输入表单,并且在每个订单上,一个人可以附加多个项目...我希望他们能够添加任意数量的这些项目并且没有一组静态字段供他们输入数据。理想情况下,它的运行方式与 gmail 过去处理电子邮件附件的方式非常相似,您可以在其中添加多个

【问题讨论】:

  • 嵌套表单不是合法的 HTML。你能澄清一下你实际上在做什么吗?

标签: jquery asp.net-mvc


【解决方案1】:

看看jQuery函数.serializeArray()

您可以在您的内部 FORM 上调用它(或者也许只是将其设为 DIV?)并将所有结果转换为 name.value 数组,您可以以任何您想要的方式操作和添加到您的 outerForm 中。

也许您可以更具体一些,我们可以提供更多建议?

因此,您可以匹配您选择的所有输入,并将它们的名称和值放入一个数组中,然后将其作为隐藏控件的值传递,或者使用 ajax 将信息作为 JSON 发布。哪一个听起来更像你的东西。

我还记得你昨天的问题……这是要上传文件吗?如果是这样,您在如何处理这些问题上受到高度限制,因此您最好告诉我们是否是这种情况。

回信以获得更多关于此的讨论。

附录

所以你有这个作为你的表单(大致)并且里面有一个带有多个输入的 div

<form action="..something.."> <-- you will want to generate this with MVC htmlhelper
    <div>
        <input type="text" id="dynamic_1" />
        <input type="text" id="dynamic_2" />
        <input type="text" id="dynamic_3" />
        .... etc ...
    </div>
    <input type="button" onclick="doSubmit()" />
</form>

那么如果您提交此表单,您的表单集合将有一个

dynamic_1 = "苹果" 动态_2 =“书” dynamic_3 = null

您可以遍历它查找名称,直到您点击 null 并且您已经掌握了所有内容。如果这对您不起作用,请解释 cmets 中的哪个位,我会再试一次:)

PS 如果您想将所有数据提交到隐藏控件中......那么您可能想要使用 .serialize() 而不是 .serializeArray() 并替换分隔符,这样它就不会弄乱您的帖子查询字符串。

【讨论】:

  • 我认为这是正确的路线,我只是将这些东西添加到隐藏输入中以进行回发,谢谢
  • 不,这不适用于文件上传,那将是单独的东西,还介意展示一些使用此方法的代码示例吗? jquery 页面上的那些有点令人困惑,我也不想在整个表单中使用它,只是我正在动态处理的东西
  • 您对 JSON 数据的适应程度如何……或将查询字符串拆分为数组?有很多方法可以做到这一点。
  • 没有太多使用 JSON 数据,我正计划将文本存储在隐藏输入中,以便从我的应用程序控制器中的 formcollection 中获取
  • 在某种程度上我希望它的功能类似于任何标准博客页面上的评论文章,除了这可以从写博客文章的页面上实现
【解决方案2】:

嗯,听上去,你想让子表单向父表单提交数据,然后父表单可以提交给服务器。对吧?

我在想,当您点击子表单的提交(覆盖子表单的提交)时,您可以编写一些 javascript 将子表单上的数据推送到父表单上的隐藏字段,然后只解析控制器中的那个字段。

【讨论】:

    猜你喜欢
    • 2017-03-29
    • 2011-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多