是否可以使用Jquery操作表单的目标窗口

时间:2015-04-01 07:54:56

标签: javascript jquery forms

我有关于表单目标及其目标窗口的问题..让我们说这个 Html.BeginForm

@using (Html.BeginForm("TestHtmlRedirect", "Home", FormMethod.Post, new {@target="_blank", @id = "tagging_frm", @class = "form-horizontal row-border" }))
{
    <input type="submit" value="Html PsBk Click" />
}

通常在点击提交按钮时会触发一个新标签,我的问题是 如何或是否可以将某些内容添加到此表单的新创建的标签中?

例如,我想通过父标签在新创建的标签上附加一个加载gif。

1 个答案:

答案 0 :(得分:1)

假设动作和脚本都来自同一服务器/源,您可以这样做:

$(function() {
  $("#tagging_frm").on("submit",function(e) {
    e.preventDefault(); // cancel submit
    var w=window.open("",this.target);
    w.document.write('<div id="container"><img src="loading.gif"/></div>');
    w.document.close();
    $.post(this.action,function(data) {
      w.document.getElementById("container").innerHTML=data;
    });
  });
});

要加载csv或pdf,请尝试使用此替代方法

$(function() {
  $("#tagging_frm").on("submit",function(e) {
    e.preventDefault(); // cancel submit
    var w=window.open("",this.target);
    w.document.write('<form id="myForm" action="'+this.action+'" target="myframe" method="post"></form><img id="loading" src="loading.gif"/><iframe name="myframe" onload="document.getElementById(\'loading\').style.display=\'none\'"></iframe>');
    w.document.close();
    w.document.getElementById("myForm").submit();
  });
});