1
所以我有一個文件管理器(類似於HFS,如果你們有使用它的話)....無論如何,當爲各種文件操作提交ajax函數時,如果文件名中有撇號('),則工作。它將名稱的整個部分提交到有撇號的地方。Javascript錯誤,文件管理器不能使用帶有撇號的名稱
通常提交一個Ajax功能,它只是運行像
$.post("?mode=section&id=ajax.delete", {
filename: selectedFilesAsStr(),
});
這裏是JavaScript的...
function selectedItems() { return $('#files .selector:checked') }
function selectedFilesAsStr() {
var a = [];
selectedItems().each(function(){
a.push(getItemName(this));
});
return a.join(":");
}
function getItemName(el) {
if (typeof el == 'undefined')
return false;
// we handle elements, not jquery sets
if (el.jquery)
if (el.size())
el = el[0];
else
return false;
// take the url, and ignore any #anchor part
var s = el.getAttribute('href') || el.getAttribute('value');
s = s.split('#')[0];
// remove protocol and hostname
var i = s.indexOf('://');
if (i > 0)
s = s.slice(s.indexOf('/',i+3));
// current folder is specified. Remove it.
if (s.indexOf(HFS.folder) == 0)
s = s.slice(HFS.folder.length);
// folders have a trailing slash that's not truly part of the name
if (s.slice(-1) == '/')
s = s.slice(0,-1);
// it is encoded
s = (decodeURIComponent || unescape)(s);
return s;
} // getItemName