0
在一個鏈接列表中的SharePoint 2010中新的形式,我創建了一個內容編輯web部件和在把這個jQuery代碼以獲取附件文件的文件名(如果用戶連接一個)。的SharePoint 2010 - jQuery的代碼來獲取附件名稱
從本質上講,我試圖把一個鏈接列表到文檔庫,以便利用其項目的排序功能。
這是我使用的新form.aspx頁面的代碼:
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$('.ms-ButtonHeightWidth').eq(2).mousedown(function (event) {
var my_array = $(".ms-vb");
for (var i=0; i<my_array.length; i++) {
text = $(my_array[i]).html();
text = text.substring(1, text.length);
text = text.substring(text.indexOf(">")+1, text.indexOf("<"));
filename = text.substr(text.lastIndexOf("\\")+1);
document.getElementById('ctl00_m_g_0440ff9f_32fb_44b5_8b6d_a9055bcb9806_ctl00_ctl05_ctl03_ctl00_ctl00_ctl04_ctl00_ctl00_TextField_inplacerte').innerHTML = filename;
}
});
</script>
它基本上把鼠標按下事件的保存按鈕,改變一列字段的值,以附件的文件名。鼠標關閉,因爲它需要在保存功能發生之前發生。 之後,會發生一個工作流並將此列字段值更改爲文檔的超鏈接。
我想知道,如果上面的代碼有沒有缺陷。我的意思是說它可以安全使用,而且不會破壞?目前它適用於我。
編輯:(這是在新的形式保存按鈕的代碼)
<input name="ctl00$m$g_0440ff9f_32fb_44b5_8b6d_a9055bcb9806$ctl00$toolBarTbl$RightRptControls$ctl00$ctl00$diidIOSaveItem" class="ms-ButtonHeightWidth" id="ctl00_m_g_0440ff9f_32fb_44b5_8b6d_a9055bcb9806_ctl00_toolBarTbl_RightRptControls_ctl00_ctl00_diidIOSaveItem" accessKey="O" onclick="if (!PreSaveItem()) return false;WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$m$g_0440ff9f_32fb_44b5_8b6d_a9055bcb9806$ctl00$toolBarTbl$RightRptControls$ctl00$ctl00$diidIOSaveItem", "", true, "", "", false, true))" type="button" target="_self" jQuery17203303955991604388="1" value="Save"/>
我把上面的保存按鈕的代碼,你能告訴我如何做到這一點? – omega 2012-07-24 17:07:07
嘗試使用我上面編輯的代碼。我將事件改爲點擊,然後停止默認的點擊事件,然後運行您的代碼。然後,我把你的按鈕的onclick屬性中的代碼放在它的後面,這樣它會運行。我希望按鈕使用的ID不是真正動態的。 – Ben 2012-07-24 17:20:45