代码之家  ›  专栏  ›  技术社区  ›  Robert Koritnik

将表单元素更改为其他元素,或在保留所有子元素的同时将其删除

  •  0
  • Robert Koritnik  · 技术社区  · 15 年前

    我已经整合了Asp.net带有Sharepoint站点的MVC。效果很好。但我也在使用默认的Sharepoint母版页( ~masterurl/default.master form 元素,而所有的Sharepoint页面都是正常的Asp.net网络表单页面。

    形式 $("form").serializeArray() 如果我保留原稿 元素。但尽管如此,普通的回发还是有问题的,因为提交事件上有WebForm功能,它们会向服务器发送太多数据。

    我将使用普通回发和Ajax回发。 主要的问题是正常的回发。

    所以我有两种可能性 $(document).ready()

    1. 删除表单元素并保持所有其他内容不变。在jQuery中,它可能意味着 元素与 div 形式 .
    2. 直接改变 形式 分区 . 就浏览器处理而言,这可能会更快,但我不知道怎么做。

    编辑

    还有第三种可能性。我可以根据需要创建输入元素,但将它们包含在 分区 元素。当用户希望提交我的 形式 分区 反正不是表格)我可以:

    1. 动态调用 $("div.form").serializeArray()
    2. 用序列化的值填充它
    3. 提交它。

    看起来很乏味,但可以用。不过,前两种解决方案似乎更简单。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Nick Craver    15 年前

    如果您通过提交 $.ajax() 我只想和 .serialize() 直接的元素,像这样:

    $.ajax({
      url: "Path/Action",
      type: "post",
      data: $("#someContainer :input").serialize(),
      success: function(data) {
        //do something
      }
    });
    

    或者更短的 $.post() 版本:

    $.post("Path/Action", $("#someContainer :input").serialize(), function(data) {
      //do something
    });
    

    <form> GET ,无论需要什么)。