none
sps2010资源预定问题 RRS feed

  • 问题

  • 启用资源预定,在检查是否重复预定的按钮竟然写的“支票”,check,应该写成 “检查”吧,至少在这里

    有办法改吗?

    2011年2月28日 13:07

答案

  • 你好,我上面的代码仅仅是用来修改“Check Double Booking”,仅仅是修改了nobr中的文字,下面这段代码比较完整。

    在我这边所看到的主要是修改button中的文字和button所在行第一个td中的文字。如果有其它地方修改,你自己对着我的代码稍微修改就有可以了。

    e.g.

    <script language="javascript" type="text/javascript">
    
        $(document).ready(
         function () {
              //你可以先测试,如果不起作用那就根据你的情况修改这个check按钮的id
            var checkBtn = $("#ctl00_m_g_5b6b7eaa_07b3_4518_9723_ac01c6a8f4f3_ctl00_ctl05_ctl06_ctl00_ctl00_ctl04_ctl00_ctl00_btnCheckOverbook");
             checkBtn.attr("value", "change value");
             checkBtn.attr("title", "change title");
    
             var parentTr = checkBtn.parent().parent().parent();
             var nobrs = parentTr.find("td h3 nobr");
             if ($(nobrs [0]).text() == "Check Double Booking") {
               $(nobrs [0]).text("got it");
             }      
         }           
         ); 
      </script>
    

    Microsoft Online Community Support
    • 已标记为答案 KYO2011 2011年3月8日 1:28
    2011年3月7日 7:59

全部回复

  • 你好,

    没有什么好办法,你试试用sharepoint designer 打开该New.ASPX页面,用javascript脚本结合xpath去替换。


    Microsoft Online Community Support
    2011年3月1日 7:17
  • 没找到new.aspx页面,具体改法能不能详细些,谢谢
    2011年3月3日 5:13
  • 你好,

    你在calendar中new一个事件时,是调用的calendar library下的new.aspx来创建的。这个你可以在点击时查看状态栏上的地址或者是源码发现。

    你用spd打开这个页面,然后添加脚本来实现。

    在我本地测试,你要修改的这个td,没有id,它所在的table也没有id,所以很难找到它,你可以试试用document.getElementById来查找临近的有id的element,然后利用查找兄弟节点,再找到这个td。


    Microsoft Online Community Support
    2011年3月3日 7:06
  • spd打开后,列表和库中,找到日历预定,没有new.aspx

    所有文件里也没有new.aspx啊

    2011年3月4日 3:42
  • 能不能一步一说啊,我不会什么脚本,刚刚接触这个东西啊
    2011年3月4日 4:20
  • 你好,

    修改这个文字问题非常复杂。用到的技术主要是Jquery。

    1. 你到这个站点下载Jqery 文件。

    http://jquery.com/

    2. 将其放到Sharepoint安装目录下:

    C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS

    3. 用SPD打开NewForm这个页面,路径如下:site=》All Fiels=》Lst=》Calendar=》NewForm.aspx下。

    此时在打开该页面后,在SPD home这个菜单下,选择进入Advanced Mode,否则无法修改该页面。

    4. 然后按照如下方式导入jquey。注意下面jquey导入部分,仅仅添加那个导入jquey的代码。

    <asp:Content ContentPlaceHolderId="PlaceHolderAdditionalPageHead" runat="server">
    	<SharePoint:UIVersionedContent UIVersion="4" runat="server"><ContentTemplate>
    		<SharePoint:CssRegistration Name="forms.css" runat="server"/>
    	</ContentTemplate></SharePoint:UIVersionedContent>
    	<script type="text/javascript" src="/_layouts/jquery-1.4.1.js"></script>
    </asp:Content>
    <br/>
    

    5. 然后直接在浏览器中敲入如下地址访问该NewForm.aspx。

      http://kfc1/sites/FirstTestSite/Lists/Calendar/NewForm.aspx?RootFolder=

    6. 在该页面添加一个ContentEditor web part,该webpart在Media and Content 分类下面。

    7. 然后选中该web part,在工具栏上面有个HTML Markup的下拉菜单,单击它选择 Edite html source

    在弹出的窗口中输入下面代码即可:请注意下面代码中“Check Double Booking”需要修改为在你的服务器上显示的错误翻译,“got it”要改为你想显示的翻译文字。

    <script type="text/javascript" language="javascript">
        $(document).ready(
         function () {
           var parentTab = $("#idAttachmentsRow").parent();
           var tds = parentTab.find("tr td h3 nobr");
           for (var i = 0; i < tds.length; i++) {
    
             if ($(tds[i]).text() == "Check Double Booking") {
               $(tds[i]).text("got it");
             }
           }
           alert(tds.length);
         }
         ); 
      </script>
    

    Microsoft Online Community Support
    2011年3月4日 8:06
  • <script type="text/javascript" language="javascript"> $(document).ready( function () { var parentTab = $("#idAttachmentsRow").parent(); var tds = parentTab.find("tr td h3 nobr"); for (var i = 0; i < tds.length; i++) { if ($(tds[i]).text() == "支票") { $(tds[i]).text("检查"); } } alert(tds.length); } ); </script> 没找到“支票”,查看代码,1412行开始,下面有支票,如何替换呢?

    检查双重预订

    <input type="button" name="ctl00$m$g_c9deaf11_6e65_4a41_8b9c_797866bc8313$ctl00$ctl05$ctl06$ctl00$ctl00$ctl04$ctl00$ctl00$btnCheckOverbook" value="支票" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$m$g_c9deaf11_6e65_4a41_8b9c_797866bc8313$ctl00$ctl05$ctl06$ctl00$ctl00$ctl04$ctl00$ctl00$btnCheckOverbook", "", true, "", "", false, true))" id="ctl00_m_g_c9deaf11_6e65_4a41_8b9c_797866bc8313_ctl00_ctl05_ctl06_ctl00_ctl00_ctl04_ctl00_ctl00_btnCheckOverbook" class="ms-ButtonHeightWidth" Title="检查双重预订" />
    2011年3月7日 3:17
  • 你好,我上面的代码仅仅是用来修改“Check Double Booking”,仅仅是修改了nobr中的文字,下面这段代码比较完整。

    在我这边所看到的主要是修改button中的文字和button所在行第一个td中的文字。如果有其它地方修改,你自己对着我的代码稍微修改就有可以了。

    e.g.

    <script language="javascript" type="text/javascript">
    
        $(document).ready(
         function () {
              //你可以先测试,如果不起作用那就根据你的情况修改这个check按钮的id
            var checkBtn = $("#ctl00_m_g_5b6b7eaa_07b3_4518_9723_ac01c6a8f4f3_ctl00_ctl05_ctl06_ctl00_ctl00_ctl04_ctl00_ctl00_btnCheckOverbook");
             checkBtn.attr("value", "change value");
             checkBtn.attr("title", "change title");
    
             var parentTr = checkBtn.parent().parent().parent();
             var nobrs = parentTr.find("td h3 nobr");
             if ($(nobrs [0]).text() == "Check Double Booking") {
               $(nobrs [0]).text("got it");
             }      
         }           
         ); 
      </script>
    

    Microsoft Online Community Support
    • 已标记为答案 KYO2011 2011年3月8日 1:28
    2011年3月7日 7:59