Javascript window.open后面的代码不';我不会被处决

Javascript window.open后面的代码不';我不会被处决,javascript,Javascript,我最近开始学习javascript,目前我正在尝试制作一个小脚本,通过填充用户名/密码字段,然后单击“提交”按钮来自动完成登录过程 我的代码如下: window.open(""); document.getElementById('ctl00_Username').value = "XXXX"; document.getElementById('ctl00_Password').value="XXXX"; document.getElementById('ctl00_ButtonLogin').

我最近开始学习javascript,目前我正在尝试制作一个小脚本,通过填充用户名/密码字段,然后单击“提交”按钮来自动完成登录过程

我的代码如下:

window.open("");
document.getElementById('ctl00_Username').value = "XXXX";
document.getElementById('ctl00_Password').value="XXXX";
document.getElementById('ctl00_ButtonLogin').click();
如果我运行一次,网站将打开,但不会填充任何文本字段。
如果我运行代码两次(当站点已经打开时),登录就成功了

我试着把“console.log”放在“window.open”之后,但由于某种原因,它似乎从未被调用过

我可能做错了什么

编辑:删除不必要的代码。我也不再确定document对象是否真的指向新打开的窗口。对“console.log”和“alert”的调用似乎也没有任何作用

是否可以从窗口获取正确的文档对象? 甚至可以使用“window.open”然后访问新的文档对象吗?
非常感谢您的帮助

对窗口的引用将从window.open调用返回,您可以使用它修改窗口

 win=window.open(...);
 win.document.doYourThing
您可能还需要等待文档准备就绪(即已加载)。在下面使用jquery

 $(win.document).ready(function() {
     //the document is loaded by here, this is probably where you should do your stuff.
 });

1.将值作为查询字符串传递。例如:www.test.com?用户名=bro,密码=bro。 2.在另一页上粘贴以下代码

$(function () {
        $(document).ready(function () {
        var amount = $('money').val();
        var from = "INR";
        var to = "SGD";
        $.ajax({ type: "POST",
        url: "WebService.asmx/CurrencyConversion",
        data: "{amount:" + amount + ",fromCurrency:'" + from + "',toCurrency:'" + to + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data) {
        var money = $(".money").val();
        $(".money").replace(money, data.d);
        }
        });
        });
        });
3.现在也粘贴此代码

var uname = getUrlVars()["username"];
var psw = getUrlVars()["password"];

4.你将拥有上述变量中的值。享受你想做的一切。

你不能。您应该将
“填充代码”
放入新文件
(elogin/default.aspx)
,以便window.open-call和“填充代码”不能同时运行因为就像我在问题中写的那样;如果我运行两次脚本,一切正常。你的代码应该做什么?window.open打开一个新窗口,因此
document=window.document
(这根本没有意义,document已经等于window.document)将获得当前窗口的
document
属性,而不是您刚刚打开的属性。感谢您指出这一点!我的印象是,我需要从窗口“获取”一个新的文档对象。代码应该打开站点,更改请求文本字段的值,然后通过调用按钮的click()函数登录到站点。但是,在window.open之后,脚本似乎停止了。编辑:那么,我如何获得我刚刚打开的窗口的document属性呢?@Cethy据我所知,没有任何javascript可以做到这一点,除非您执行类似于
window.open(url+”?feild1=“+myText)
的操作,但您必须知道目标站点的工作方式。我尝试了这一点,但jquery块中的代码从未触发,出于某些原因。这将仅适用于与其父窗口位于同一域上的新窗口。