我有关于表单目标及其目标窗口的问题..让我们说这个 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。
答案 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();
});
});