新 window 没有在单击 [window 时获得值。开场白。]

New window not getting the value on click [window. opener.]

我试图在点击时打开一个新的 window,并将当前索引值发送到新的 window。

这是我的 HTML 我想在点击时更改值的地方,默认值为 1

<input type="text" id='pageno' value="1">

这是我的 jQuery 代码。

$('.page-list li').click(function() {
    var pageIndex = $(this).index() + 1;
    var URL = window.location.href;
    var myWindow = window.open(URL);
    myWindow.opener.document.getElementById('pageno').value = pageIndex;
});

我不会像那样尝试访问另一个 window。 您可以做的是将信息添加到 url。 使用哈希 #1 或查询字符串 ?pageno=1。 由于您不想使用任何 server-side 语言,我会选择哈希,因为使用 JavaScript.

更容易处理
$('.page-list li').click(function() {
   var pageIndex = $(this).index() + 1;
   var URL = window.location.href + '#' + pageIndex;
   var myWindow = window.open(URL);
});

然后在打开的window处可以得到页码:

var pageno = window.location.hash.substr(1);
window.location = "YOUR_URL?pageIndex="+pageIndex

and on newly opened window write below code in onload() method 

function onload(){
 var pageIndex = getParameterByName('pageIndex');
 document.getElementById('pageno').value = pageIndex;
}

function getParameterByName(name, url) {
    if (!url) {
      url = window.location.href;
    }
    name = name.replace(/[\[\]]/g, "\$&");
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
        results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/\+/g, " "));
}