如何在sharepoint 2010中加载页面后保留文本框中的值?

时间:2014-06-05 11:39:51

标签: c# javascript sharepoint sharepoint-2010

我在内容编辑器Web部件中放置了javascript和html代码。

<script type="text/javascript">
 function RedirectUrl() {
 var tb = document.getElementById("tbSearch").value;
 var cs = document.getElementById("sfield").value;
 var url = "";

 if (tb != "") 
 {
    if (cs == "ID" || cs == "Column6")
    {
     url = "FilterField1=" + cs + "&FilterValue1=" + tb;
     window.location.href = "AllPages.aspx?" + url;
    }
  }
  else 
     return false;
 } 
</script>

Search Field: <select id="sfield" ClientIDMode="Static">
<option value="ID">ID</option>
<option value="Status">Status</option>
</select>

Search text: <input type="text" id="tbSearch" />
<input type="button" id="btnSearch" value="Search" onclick="return RedirectUrl();" />

执行javascript并加载页面后,我在文本框和下拉列表中输入的值将更改回其默认值。我希望根据我在SharePoint中加载页面后输入的数据保留这些值。谢谢:))

1 个答案:

答案 0 :(得分:0)

您需要添加一些脚本,该脚本从查询字符串中提取值并使用它们来重置输入值。在SharePoint中,现有的JS函数是core.js的一部分,您可以使用它来获取查询字符串参数值。在页面准备好后,您可以执行以下操作:

JSRequest.EnsureSetup();
var sfield = JSRequest.QueryString["cs"];
var tbSearch = JSRequest.QueryString["tb"];

document.getElementById('sfield').value = sfield;
document.getElementById('tbSearch').value = tbSearch;

希望这有帮助!

JSRequest参考:http://social.technet.microsoft.com/wiki/contents/articles/20820.sharepoint-2010-about-jsrequest.aspx