【问题标题】:How to retain values from a textbox after page load in sharepoint 2010?如何在 sharepoint 2010 中的页面加载后保留文本框中的值?
【发布时间】:2014-07-26 09:22:02
【问题描述】:

我在内容编辑器 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 中加载页面后输入的数据保留这些值。谢谢:)

【问题讨论】:

    标签: c# javascript sharepoint sharepoint-2010


    【解决方案1】:

    您需要添加一些脚本,从查询字符串中提取值并使用它们来重置输入值。在 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

    【讨论】:

    • 嗨史蒂夫,我应该把这段代码放在哪里?我应该将它放在内容编辑器 Web 部件中吗?我认为我无法使用 Web 部件访问 On Page Ready for sharepoint...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-03
    • 1970-01-01
    • 2018-10-25
    • 2021-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多