2011-02-03 6 views
1

SharePointリストでは、ファイル名に特殊文字を含むファイルをアップロードすることはできません。 (例:ファイル& .docはアップロードできません)SharePointカスタムリストのJavaスクリプト

私はリストを送信する際にファイル名を検証し、アップロードする前にファイルの名前を変更するように指示するダイアログボックスを作成します進行することができます。

私の問題は、2つ以上のドキュメントがアップロードされた場合、コードは1つのドキュメントに対してのみ機能することです。 2番目の項目は検証されません。 n個のアイテムをアップロードしてeacを検証できるように助けが必要です

<Script type="text/javascript"> 
function PreSaveAction() 
{ 
var attachment; 
var filename=""; 
var fileNameSpecialCharacters = new RegExp("[~#%&*{}<>;?/+|\"]"); 
try { 
attachment = document.getElementById("idAttachmentsTable").getElementsByTagName("span")[0].firstChild; 
filename = attachment.data; 
} 
catch (e) { 
} 
if (fileNameSpecialCharacters.test(filename)) { 
alert("Please remove the special characters like ~#%&*{}<>;?/+|\ from the file attachment name and reattach the file."); 
return false; 
} 
else { 
return true; 
} 
} 
</script> 

答えて

0

ドキュメントのリストをループできませんか?すべてのファイル名を構造体/配列/何かに入れ、それらをすべて見ますか?

1

2007 SharePointリスト内の特定のファイルのみ

編集できるように:私はすべての添付ファイルをチェックする修正版を作成した

<Script type="text/javascript"> 
function PreSaveAction() 
{ 
    var attachment; 
    var filename=""; 
    try 
    { 
     attachment = document.getElementById("idAttachmentsTable") 
          .getElementsByTagName("span")[0] 
          .fi‌​rstChild; 
     filename = attachment.data; 
    } 
    catch (e) { } 
    if (!filename.match(/^(.+?\.xlsx?)$/i)) 
    { 
     alert("Please attach only excel files."); 
     return false; 
    } 
    else 
    { 
     return true; 
    } 
} 
</script> 
+0

です。 var filename = ""; try { attachment = document.getElementById( "idAttachmentsTable")。getElementsByTagName( "span")[0] .firstChild; filename = attachment.data; } catch(e){ } if!!filename.match(/ ^(。+?\ xlsx?)$/i)){ alert( "添付ファイルを添付してください。 falseを返します。 } else { return true; } } ' – Justin

0

:コメントからコードが含まれていました。ここにリストされているものは、最初の添付ファイルのみをチェックします。ここ

は私は.XLSとの.xlsx `コード<スクリプトタイプ= "テキスト/ javascriptの"> 関数PreSaveAction(){ VAR取付用

function chechAttachments() { 

var spanTag; 

var filename=""; 

var fileNameSpecialCharacters = new RegExp("[~#%&*{}<>;?/+|\"]"); 

try { 

spanTag = document.getElementById("idAttachmentsTable").getElementsByTagName("span"); 

for (var i = 0; i < spanTag.length; i++) { 

filename = spanTag[i].innerHTML; 

} 

} 

catch (e) { 

} 

if (fileNameSpecialCharacters.test(filename)) { 

alert('Attachments cannot contain special characters such as "[~#%&*{<>;?/+|\"]".\n\nPlease remove the special characters from the file attachment name.'); 

return false; 

} 

} 
関連する問題