菜鸟求救:js脚本为什么先执行了

lightchen 2010-08-26 09:07:27
点击A页面一个按钮弹出B页面,在B页面中进行一些数据处理,并更新A页面的某个textbox,之后返回A页面。A页面按钮事件代码如下:
            string str = "Reason.aspx?ID={0}";
str = string.Format(str, ViewState["ajdm_detail"].ToString());

string js = ("<script> window.showModalDialog('{0}', window, 'dialogWidth:400px;status:no;dialogHeight:400px'); </script>");
HttpContext.Current.Response.Write(string.Format(js, str));
B页面有个 “保存并返回”按钮,相关代码如下
<input type ="button" value="保存" onclick="setFather()"/>        <script language="javascript" type ="text/javascript" > 

var k=window.dialogArguments;

//设置父窗口的值
function setFather()
{
//k.document.getElementById("txt10").value = document.getElementById("txt1").value
var a = "<%=getAnyou()%>";
k.document.getElementById("txtanyou").Text = a;
window.close();

}

</script>
getAnyou()是B页面后台的一个public方法。现在问题是,通过跟踪发现,弹出B页面的时候,居然立即执行getAnyou了,为什么会这样?
再弱弱问下:我想在弹出B页面的时候,把A页面禁用,就是只有关闭B页面,才能重新控制A页面,这又要怎么实现。
...全文
79 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lightchen 2010-08-26
  • 打赏
  • 举报
回复
wuyq11 可以把代码写再清楚点不,小弟有点看不明白
lightchen 2010-08-26
  • 打赏
  • 举报
回复
window.showModalDialog 的确是可以,没注意到,原来一直用 window.open
lightchen 2010-08-26
  • 打赏
  • 举报
回复
mngzilin提醒的对,我又试了别人的代码,都一样先执行了。

另外,window.showModalDialog 不就是模态对话框吗?如何才能实现阿。。。没做过
lansecheng 2010-08-26
  • 打赏
  • 举报
回复
按道理说 应该在触发click事件才能执行setfather函数。我还真不清楚咋回事。
第二个问题 你用的showmodaldialog方法弹出网页对话框,难道此方法没有把A页面禁用?ShowModalDialog就是你说的这种实现方法的啊。
wuyq11 2010-08-26
  • 打赏
  • 举报
回复
showModalDialog传值
var f = function(){
var obj = document.getElementById("content");
var str =window.showModalDialog("a.htm",obj,"dialogWidth=300px;dialogHeight=200px");
}
a.htm
var o= window.dialogArguments;
var test = function(){
o.value = "test";
}

</script>
<input type="button" value="click" onclick="test();" />
mngzilin 2010-08-26
  • 打赏
  • 举报
回复
getAnyou()是B页面后台的一个public方法。现在问题是,通过跟踪发现,弹出B页面的时候,居然立即执行getAnyou了,为什么会这样?
-------------------------------------------------
这个问题是必然,不要乞求点击后执行,这会立即执行

==============
再弱弱问下:我想在弹出B页面的时候,把A页面禁用,就是只有关闭B页面,才能重新控制A页面,这又要怎么实现。
---------------
使用模态对话框

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧