这个问题已经困扰我几天了,有没有人帮助我啊,代码如下。
前台
<script type="text/javascript">
function Finish() {
alert("anran");
}
</script>
</head>
<body>
<form id="form1" runat="server" action="upload.ashx" target="hd" >
<iframe name="hd"></iframe>
<div>
<input id="DDD" type="button" value=" 提 交" onclick="javascript:document.getElementById('form1').submit()"/>
</div>
</form>
</body>
ashx中
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Write("<script>window.parent.Finish();</script>");
}
但是在ff下<script>window.parent.Finish();</script>现实在iframe中了,在是在ie中则是执行了Finish函数,结果弹出了anran怎么回事啊,有没有人解决啊,上面是我的全部代码?没有其他的。谢谢
为什么不试试:
context.Response.ContentType = "text/html";
和<iframe name="hd"></iframe>有什么关系,没见你操作这个标签。
其实form已经没有target这个属性了,你ashx中把html、head、body都写全了应该有效果
楼主已经提了好多次这问题了……给你解决方案吧
<script type="text/javascript">
function showMsg(msg) {
alert(msg);
};
</script>
上面这个是写在页面里的
<script type="text/javascript">
function request() {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'xxx.ashx';
document.getElementsByTagName('head')[0].appendChild(script);
};
</script>
上面这个函数就是用来请求你的ashx的
context.Response.Write("showMsg('xxx');");
ashx中只要写上面这句就行