将Focus设置为从C#(或JS)弹出的窗口

时间:2019-04-30 14:47:09

标签: javascript c# jquery asp.net asp.net-webpages

我正在尝试获取一个弹出窗口来聚焦我尝试过window.open().focus(); 但是它在后台不断变化,因此我尝试在代码中关闭一个窗口,然后再次重新打开它。

string url = "Report.aspx";
string s = "window.open('" + url + "', 'popup_window456789123', 'width=650,height=500,left=100,top=100,resizable=yes,scrollbars=yes')";

string t = "window.close()";
this.ClientScript.RegisterClientScriptBlock(this.GetType(), "Close", t, true);

ClientScript.RegisterStartupScript(this.GetType(), "script", s, true);

谁能告诉我为什么这不起作用?

我在Jquery中尝试过,但这也不起作用:

<script type="text/javascript">
    $(document).ready(function () {
        alert("test");
        window.focus();
    });
</script>

流量:

  1. 主页:单击按钮1►打开弹出窗口1。
  2. 弹出窗口处于焦点并显示数据
  3. 主页(获取焦点):单击button2►打开相同的弹出窗口1
  4. 弹出式窗口更改数据(但没有获得焦点)这是问题

1 个答案:

答案 0 :(得分:1)

好吧,我做了一个小提琴,显示了您应该拥有的东西。 View Fiddle

如果我单击一个窗口,然后单击另一个窗口,则它将返回(重新加载)并获得焦点。

如果您希望文本框或焦点在加载的窗口中,那么您需要在页面中加载一些东西以使文本框成为焦点。

const { name, email } = request.body;