window.location.replace在我的sharepoint站点中不起作用

时间:2016-01-22 09:49:02

标签: javascript jquery search sharepoint sharepoint-2013

我在sharepoint搜索框中使用JavaScript。但window.location.replace功能不起作用?这是我的代码:

$('.SearchBtnGo').click(function(){
    var url = window.location.protocol + "//" + window.location.host + _spPageContextInfo.siteServerRelativeUrl;
    var value=$('#ctl00_ctl55_csr_sbox').val(); //Taking value from search box 
    var SearchUrl = url+"/_layouts/15/osssearchresults.aspx?k=";
    var NewUrl=SearchUrl+value;
    alert(NewUrl); // i am getting expected URL in alert.
    window.location.replace(NewUrl);
});

我在警告框中收到预期的网址。但它没有重定向到新的URL。我甚至只使用window.location但我得到的结果相同。有人可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

您需要停止按钮的默认操作,以便表单不提交,否则它将转到表单的网址而不是window.location.replace的网址

$('.SearchBtnGo').click(function(e){ // add an e to this function argument
    e.preventDefault();  // prevent the default action of the button

    var url = window.location.protocol + "//" + window.location.host + _spPageContextInfo.siteServerRelativeUrl;
    var value=$('#ctl00_ctl55_csr_sbox').val(); //Taking value from search box 
    var SearchUrl = url+"/_layouts/15/osssearchresults.aspx?k=";
    var NewUrl=SearchUrl+value;
    alert(NewUrl); // i am getting expected URL in alert.
    window.location.replace(NewUrl);
});

答案 1 :(得分:1)

我有这个问题,我通过使用window.open解决了这个问题,然后根据我想点击按钮的方式分配第二个参数。

window.open(NewUrl, '_self');

http://www.w3schools.com/tags/att_a_target.asp