2009-10-24 91 views

回答

1

location=("http://www.myTestPage.com/")开始导航到新的页面。你打算从哪里调用showForm()?如果是当前页面,我不明白你为什么要这样做?

虽然我怀疑你想打开一个新窗口,这将会跟随,是吗?

window.open("http://www.myTestPage.com/"); 
showForm(); 
document.getElementById("txtEmail").value="[email protected]"; 
submit(); 

补充:

我想你想的形式提交到服务器端的过程,也浏览到新的位置在同一时间。几种方法可以做到这一点:

  1. 提交表单,并让响应重定向到所需的位置

  2. asyncronously提交表单,之后转到新的一页

4

你不能。问题是每个页面都被加载到它自己的逻辑窗口中(即使该窗口在浏览器中占用与上一页相同的客户区域)。每个窗口都在自己的上下文中运行脚本。通常,当窗口被替换时,任何正在运行的脚本都会被终止,即使它不是我想要的位置分配之后的代码对新内容进行操作。

您需要目标页面才能为您运行代码。如果页面是通过PHP或ASP之类的动态生成的,那么你可以使用查询字符串来指定一个文件,页面应该指向它放在主体内容底部的脚本块的SRC。

2

这是因为你的javascript函数是在窗口对象中声明的。通过调用location =你可以销毁当前窗口对象及其中的所有函数。毕竟你不能在一个窗口中声明函数在同一个窗口中运行,而是在另一个位置运行。你所能做的就是打开一个新窗口。

2

这是因为该页面已转移到新位置。在移至其他位置之前先执行您的JavaScript。

1

这仅在JavaScript中可能,如果您在新窗口中打开第二页该页面托管在同一个域中(因为JavaScript具有相同域安全策略);否则,你必须按照别人的建议做,并让目标页面自己处理它。

相关问题