Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 输入:{FilterField0:'名称',FilterValue 0:'弗雷德', //FilterField1:'age',FilterValue 1:'30'} //输出:{name:'Fred',age:'30'} 函数buildFilterFieldMap(parameterMap){ var maxFieldCount=15; var-map={}; 对于(变量i=0;i值构建映射 var parameterMap=buildParameterMap(queryString); //从搜索字段名称->值构建地图 var filterFieldMap=buildFilterFieldMap(parameterMap); Object.keys(filterFieldMap).forEach(函数(字段){ $('#'+字段).val(filterFieldMap[field]); }); } populateSearchFields(“?FilterField0=locations&FilterValue0=US&FilterField1=dropdown1&FilterValue1=b”) 期刊关键词 1950 2010 2017 奥迪 标题 测试文件 T 本地货币 美元 位置 美国 英国 下拉列表1 A. B 下拉列表2 aa bb 复写的副本 dd 搜索_Javascript_Jquery_Html_Asp.net - Fatal编程技术网

Javascript 输入:{FilterField0:'名称',FilterValue 0:'弗雷德', //FilterField1:'age',FilterValue 1:'30'} //输出:{name:'Fred',age:'30'} 函数buildFilterFieldMap(parameterMap){ var maxFieldCount=15; var-map={}; 对于(变量i=0;i值构建映射 var parameterMap=buildParameterMap(queryString); //从搜索字段名称->值构建地图 var filterFieldMap=buildFilterFieldMap(parameterMap); Object.keys(filterFieldMap).forEach(函数(字段){ $('#'+字段).val(filterFieldMap[field]); }); } populateSearchFields(“?FilterField0=locations&FilterValue0=US&FilterField1=dropdown1&FilterValue1=b”) 期刊关键词 1950 2010 2017 奥迪 标题 测试文件 T 本地货币 美元 位置 美国 英国 下拉列表1 A. B 下拉列表2 aa bb 复写的副本 dd 搜索

Javascript 输入:{FilterField0:'名称',FilterValue 0:'弗雷德', //FilterField1:'age',FilterValue 1:'30'} //输出:{name:'Fred',age:'30'} 函数buildFilterFieldMap(parameterMap){ var maxFieldCount=15; var-map={}; 对于(变量i=0;i值构建映射 var parameterMap=buildParameterMap(queryString); //从搜索字段名称->值构建地图 var filterFieldMap=buildFilterFieldMap(parameterMap); Object.keys(filterFieldMap).forEach(函数(字段){ $('#'+字段).val(filterFieldMap[field]); }); } populateSearchFields(“?FilterField0=locations&FilterValue0=US&FilterField1=dropdown1&FilterValue1=b”) 期刊关键词 1950 2010 2017 奥迪 标题 测试文件 T 本地货币 美元 位置 美国 英国 下拉列表1 A. B 下拉列表2 aa bb 复写的副本 dd 搜索,javascript,jquery,html,asp.net,Javascript,Jquery,Html,Asp.net,如果您不关心Internet Explorer或Edge,请使用此选项。 加载页面后,您可以在的帮助下读取搜索参数。下面是让您开始的代码 请注意,此解决方案取决于表单参数的ID是否等于小写搜索参数的名称 $(文档).ready(()=>{ //将值改为window.location.href以使用浏览器的URL 常量href=”http://yourhost.com?FilterField0=locations&FilterValue0=US&FilterField1=dropdown1&Fi

如果您不关心Internet Explorer或Edge,请使用此选项。

加载页面后,您可以在的帮助下读取搜索参数。下面是让您开始的代码

请注意,此解决方案取决于表单参数的ID是否等于小写搜索参数的名称

$(文档).ready(()=>{
//将值改为window.location.href以使用浏览器的URL
常量href=”http://yourhost.com?FilterField0=locations&FilterValue0=US&FilterField1=dropdown1&FilterValue1=b";
//使用当前位置初始化URL对象
const url=新url(href);
//此数组将包含所有筛选器字段
常量键=[];
for(允许输入url.searchParams){
if(条目[0].startsWith(“FilterField”)){
按键。按键(输入[0]);
}
}
keys.forEach(字段=>{
//提取FilterField的索引
常量idx=字段[field.length-1];
//获取FilterField的值(这将为我们提供表单字段的ID)
const formField=url.searchParams.get(field.toLowerCase();
//使用.val()设置表单字段的值
$(“#”+formField.val(url.searchParams.get('FilterValue'+idx));
});
//剩下的代码在这里
});

期刊关键词
1950
2010
2017
奥迪
标题
测试文件
T
本地货币
美元
位置
美国
英国
下拉列表1
A.
B
下拉列表2
aa
bb
复写的副本
dd

搜索
您可以使用“document.URL”获取当前URL,并将其拆分为var URL=document.URL;url=url.split('&');然后你可以得到一个带有你的值的数组。@OmarFaruque但是我可以使它更动态吗?,因为我的字段ID等于参数名。。。所以我不必一个接一个地对字段执行此操作。.从url获取值后,您可以像这样检查它(value!=''{$('input[name=“test”]').val(value);}change
window.location.replace(“/teamsites/Bib%20Test/Forms/search.aspx?”+s)
到ajax,类似于
$.get('/search/Bib%20Test/Forms/search.aspx?+s')。然后(函数(数据){refillSearchResult(数据)})
为什么要使用
asp.net
标记?因为如果需要,您可以通过编程从代码隐藏中完成所有这些。请注意,
URL
类型在IE中不可用,并且它的
。searchParams
属性在Edge中不可用。感谢您的回复。现在您的方法在获取查询字符串方面似乎运行良好参数,但它无法填充字段..因此这行代码
$('#'+detail[0]).val(detail[1])
没有按预期工作…当我从chrome检查它时,我找不到出现任何错误..我想问题是`$('#'+detail[0]))`将等于文本,如
FilterField1
,而不是实际的参数名,如
journal
。运行良好,非常感谢..将进行额外的测试,以检查是否一切正常。谢谢
<script type="text/javascript">

$(document).ready(function(){

    $('#button').click(function(e) {  
        var count=1;
        var s="";

        var inputvalue = $("#journal").val();
        var inputvalue2 = $("#keywords").val();
        var inputvalue3 = $("#datepub").val();
        var inputvalue4 = $("#title").val();
        var inputvalue5 = $("#localcurrency").val();
        var inputvalue6 = $("#locations").val();
        var inputvalue7 = $("#dropdown1").val();
        var inputvalue8 = $("#dropdown2").val();

        if(inputvalue!=null && inputvalue!="")
        {
        s = s+ "FilterField"+count+"=Journal&FilterValue"+count+"="+inputvalue+"&";
        count++;
        }
        if(inputvalue2!=null && inputvalue2!="")
        {
        s = s+ "FilterField"+count+"=KeyWords&FilterValue"+count+"="+inputvalue2+"&";
        count++;
        }
        if(inputvalue3!=null && inputvalue3!="")
        {
        s = s+ "FilterField"+count+"=datepub&FilterValue"+count+"="+inputvalue3+"&";
        count++;
        }
        if(inputvalue4!=null && inputvalue4!="")
        {
        s = s+ "FilterField"+count+"=Title&FilterValue"+count+"="+inputvalue4+"&";
        count++;
        }
        if(inputvalue5!=null && inputvalue5!="")
        {
        s = s+ "FilterField"+count+"=localcurrency&FilterValue"+count+"="+inputvalue5+"&";
        count++;
        }
        if(inputvalue6!=null && inputvalue6!="")
        {
        s = s+ "FilterField"+count+"=locations&FilterValue"+count+"="+inputvalue6+"&";
        count++;
        }
        if(inputvalue7!=null && inputvalue7!="")
        {
        s = s+ "FilterField"+count+"=dropdown1&FilterValue"+count+"="+inputvalue7+"&";
        count++;
        }
        if(inputvalue8!=null && inputvalue8!="")
        {
        s = s+ "FilterField"+count+"=dropdown2&FilterValue"+count+"="+inputvalue8+"&";
        count++;
        }
        window.location.replace("/teamsites/Bib%20Test/Forms/search.aspx?"+s);

    });
});
</script> 

       Journal <input type="text" id="journal"> 
       keywords <input type="text" id="keywords"> 




<select id="datepub">
<option value=""></option>
  <option value="1950">1950</option>
  <option value="2010">2010</option>
  <option value="2017">2017</option>
  <option value="audi">Audi</option>
</select>

title
<select id="title">
<option value=""></option>
  <option value="TestDoc">test doc</option>
  <option value="t">t</option>

</select>

localcurrency
<select id="localcurrency">
<option value=""></option>
  <option value="USD">USD</option>

</select>

locations
<select id="locations">
<option value=""></option>
  <option value="US">US</option>
  <option value="UK">UK</option>

</select>

dropdown1
<select id="dropdown1">
<option value=""></option>
  <option value="a">a</option>
  <option value="b">b</option>

</select>

dropdown2
<select id="dropdown2">
<option value=""></option>
  <option value="aa">aa</option>
  <option value="bb">bb</option>
  <option value="cc">cc</option>
  <option value="dd">dd</option>
</select>
       <button type="button" id="button">search</button>
$(document).ready(function(){

    $('#button').click(function(e) {  
        var count=1; //out of use
        var s = []; //""; //empty array, not empty string

        var inputvalue = $("#journal").val();
        var inputvalue2 = $("#keywords").val();
        var inputvalue3 = $("#datepub").val();
        var inputvalue4 = $("#title").val();
        var inputvalue5 = $("#localcurrency").val();
        var inputvalue6 = $("#locations").val();
        var inputvalue7 = $("#dropdown1").val();
        var inputvalue8 = $("#dropdown2").val();

        if(inputvalue) // !=null && inputvalue!="") //it is redundant. null and empty string are **falsey**
        {
            s.push('journal='+inputvalue);
            //or if you wish to keep your existing format (not recommended because it would produce problems on the search page)
            //s.push("FilterField"+count+"=Journal&FilterValue"+count+"="+inputvalue);
            //count++;
        }
        if(inputvalue2) //!=null && inputvalue2!="")
        {
           s.push('keywords='+inputvalue2);
        //for existing format see previous comment
        //s = s+ "FilterField"+count+"=KeyWords&FilterValue"+count+"="+inputvalue2+"&";
        //count++;
        }
        /*
        //same for other vars
        if(inputvalue3!=null && inputvalue3!="")
        {
        s = s+ "FilterField"+count+"=datepub&FilterValue"+count+"="+inputvalue3+"&";
        count++;
        }
        if(inputvalue4!=null && inputvalue4!="")
        {
        s = s+ "FilterField"+count+"=Title&FilterValue"+count+"="+inputvalue4+"&";
        count++;
        }
        if(inputvalue5!=null && inputvalue5!="")
        {
        s = s+ "FilterField"+count+"=localcurrency&FilterValue"+count+"="+inputvalue5+"&";
        count++;
        }
        if(inputvalue6!=null && inputvalue6!="")
        {
        s = s+ "FilterField"+count+"=locations&FilterValue"+count+"="+inputvalue6+"&";
        count++;
        }
        if(inputvalue7!=null && inputvalue7!="")
        {
        s = s+ "FilterField"+count+"=dropdown1&FilterValue"+count+"="+inputvalue7+"&";
        count++;
        }
        if(inputvalue8!=null && inputvalue8!="")
        {
        s = s+ "FilterField"+count+"=dropdown2&FilterValue"+count+"="+inputvalue8+"&";
        count++;
        }
        */
        window.location.replace("/teamsites/Bib%20Test/Forms/search.aspx?"+s.join('&')); //Use the array here

    });
});
$(document).ready(function(){
    var query = window.location.search.slice(1); //get ?.... less **?**
    var terms = query.split('&'); //get pairs like key=value
    for(var i = 0, term; term = terms[i]; ++i){ //loop the search terms
       var detail = term.split('='); //journal=some
       $('#'+detail[0]).val(detail[1]); //set the value provided fields have the same **id**s
    }
});
<asp:TextBox ID="keywords" runat="server" ClientIDMode="Static"></asp:TextBox>
<form method="GET" action="/search.aspx">
   <input type="text" name="keywords" />
   <select name="localcurrency">
     <option value="USD">US Dollar</option>
     <option value="EUR">Euro</option>
   </select>
   <!--other fields -->
   <input type="submit" value="Search" />
</form>
<%-- search.aspx --%>
<%@ Page Language="C#" %>

<!DOCTYPE html>

<script runat="server">
    void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            if (Request.QueryString["keywords"] != null)
                this.keywords.Text = Request.QueryString["keywords"];
            if (!string.IsNullOrEmpty(Request.QueryString["localcurrency"]))
                localcurrency.SelectedValue = Request.QueryString["localcurrency"];
            //other request query strings
            // DoSearch();
        }
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:TextBox ID="keywords" runat="server"></asp:TextBox>
            <asp:DropDownList runat="server" ID="localcurrency">
                <asp:ListItem Value="USD">US Dollar</asp:ListItem>
                <asp:ListItem Value="EUR">Euro</asp:ListItem>
            </asp:DropDownList>
        </div>
    </form>
</body>
</html>