我有js函数
function searchRequest(months){
//base url
var protocol = window.location.protocol;
var siteUrl = window.location.host;
//get months and years 4 link
var yearToUrl = months.toString().substring(0,4);
var monthsToUrl = months.toString().substr(-2);
//calculating months days
var yearForDays = parseInt(yearToUrl);
var monthsForDays = parseInt(monthsToUrl);
var daysToUrl = 33 - new Date(yearForDays, monthsForDays-1, 33).getDate();
//add months days and year to link
var lastUrlPart = 'invoices/#_form=42422b080fbce04ec7f431ad4abe6f6495d8f7bf&view=search&predefined_search=2&invoice_date_from=01%2F' + monthsToUrl + '%2F' + yearToUrl + '&invoice_date_to=' + daysToUrl + '%2F' + monthsToUrl + '%2F' + yearToUrl;
//creating link
var redirectUrl = protocol + '//' + siteUrl + '/' + lastUrlPart;
window.location.href = redirectUrl;
}
有了这个链接,在其他网页的网站应该启用搜索。但重定向后,它没有工作。此外,当我用那个url设置我的cursour到浏览器地址字符串并点击键盘上的回车键时,搜索可以正常使用那个链接。我该怎么解决?我需要重定向后的结果。谢谢
这是我从函数链接的输出http://actamedical.loc/invoices/#_form=42422b080fbce04ec7f431ad4abe6f6495d8f7bf&视图=搜索&predefined_search=2&invoice_date_from=01%2F09%2F2012&invoice_date_to=30%2F09%2F2012
尝试
window.location.reload()
更改url后(希望不会重新更改(
好的。在一些大脑崩溃后,我发现在项目中使用网格系统,我们可以设置主动网格或非主动网格。我的重定向不起作用,因为目标页面有三种搜索类型(实时、高级和预定义(。我举了一个来自预定义搜索的类似链接,但该搜索并没有添加到网格系统中,并且网格无法通过使用get请求设置为活动。就像说"快"我应该触发页面重新加载。我发现为了制造一些贪婪,我应该用饼干。我为我的请求重写了模板函数,并从高级搜索中获取了链接。
function openGridTab(el)
{
var url = $(el).attr('href') ? $(el).attr('href') : el;
var place = url.split('/#', 2)[0].split('//')[1].split('/').reverse().shift();
var tab = url.split('#', 2)[1].split('&', 2)[0].split('=', 2)[1];
var search_form_name = $(el).attr('rel') ? $(el).attr('rel') : '42422b080fbce04ec7f431ad4abe6f6495d8f7bf';
switch(place)
{
case 'tasks':
{
//var cookieName = tasksInterface.options['tabs_cookie'];
var cookieName = 'tsk_flt';
break;
}
case 'requests':
{
//var cookieName = requestsInterface.options['tabs_cookie'];
var cookieName = 'req_flt';
break;
}
case 'invoices':
{
//var cookieName = invoicesInterface.options['tabs_cookie'];
var cookieName = 'inv_flt';
break;
}
default:
{
return false;
}
}
$.cookie(cookieName, tab);
if (tab == 'search')
{
var params = url.split('&');
params.shift();
var form = '<form action="'+ url.split('#')[0] +'" method="get">' +
'<input type="hidden" name="_form" value="'+ search_form_name +'"/>' +
'<input type="hidden" name="view" value="search"/>' +
'<input type="hidden" name="reload" value="1"/>';
for (var i = 0; i < params.length; i++) {
var param = params[i].split('=', 2);
form += '<input type="hidden" name="'+ param[0] +'" value="'+ param[1] +'"/>';
}
form += '</form>';
$(form).appendTo('body')[0].submit();
}
else
{
window.location = url;
}
return false;
}
并重写我的脚本函数。。。更改url并使用我的功能
var lastUrlPart = 'invoices/#view=search&invoice_num=&invoice_amount_from=&invoice_amount_to=&invoice_law=&invoice_report_type=&req_experts_nb=&invoice_patient=&invoice_company=&invoice_client=&invoice_state=&invoice_transaction_date_from=01%2F' + monthsToUrl + '%2F' + yearToUrl + '&invoice_transaction_date_to=' + daysToUrl + '%2F' + monthsToUrl + '%2F' + yearToUrl + '&req_without_appointments=0&invoice_create_date_from=&invoice_create_date_to=&specs_change_request=0&attr_billed=1&attr_paid=0&attr_subtraction=0';
//creating link
var redirectUrl = protocol + '//' + siteUrl + '/' + lastUrlPart;
openGridTab(redirectUrl);
此外,我还在想,用一些js函数,还有什么更简单的答案可以回答我的问题。谢谢你的帮助。