我在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
但我得到的结果相同。有人可以帮助我吗?
答案 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');