2017-04-09 57 views
0

目前我正在製作一個程序,其中可以作爲文本編輯器使用。我有一個部分,您可以重命名標題,當您保存時,它會使用document.getElementById('title').innerHTML並使其名稱爲.txt用Javascript/jQuery讀取文件的名稱

例如:

如果標題的div有「一號文件」的innerHTML,該文件將被稱爲「文檔.txt」。

我的問題是,我希望它也上傳一個文件,並採取其文件名。

例如:

我上傳了一個名爲「文檔.txt」文件,並在功能使標題爲「文檔」。 (我使用的是.replace('.txt',''),使其在標題沒有顯示出和+= '.txt'使文件實際上是一個.txt保存時。

任何人都知道如何使用<input type='file'>一個字符串,使已上傳文件的文件名在別處使用

下面是一些代碼來看待它?

var id = function(id){return document.getElementById(id)}; 

function readText(that) 
    { 
     var reader = new FileReader(); 
     reader.onload = function(e) 
      { 
       var output = e.target.result, 
        name = FILENAMEFIND(); 
       id('page').innerHTML = output; 
       id('title').innerHTML = name; 
      } 
     reader.readAsText(that.files[0]); 
    } 
+0

可能重複的[無法獲得輸入類型的值=「文件」?](http://stackoverflow.com/questions/5903323/cant-get-value-of-input-type-file) –

+0

是的,你是正確的,但是它包含我不想要的''C:\ fakepath \'',任何線索如何刪除?我猜只是''id('upfile')。replace('C:\ fakepath \','')''會起作用,但文件總是在C盤中?任何想法如何做到這一點? –

+0

不清楚你想達到什麼目的? – guest271314

回答

0

好吧,我想通了自己:

var id = function(id){return document.getElementById(id)}, 
    input = id("upfile"), 
    file = input.value.split("\\"), 
    fileName = file[file.length-1]; // Take purely the file name 
    id('title').innerHTML = fileName; // Outputted to title div