2017-04-11 35 views
0

我想將輸入類型文件控件中的隱藏字段值設置爲逗號分隔的圖像名稱。我已經使用jQuery試過,如何用逗號將圖片名稱設置爲hiddenfeild?

var idProjectTitle = document.getElementsByClassName("idProjectTitle"); 
 

 
      
 
      var path2 = ""; 
 
     for (var i = 0; i < idProjectTitle.length; i++) { 
 
      
 
       path2 += idProjectTitle[i].files[0].name + ',';    
 
     } 
 
      $('#hdProjectTitle').val(path2); /*Here is setting image names as hdfield value*/

但出現錯誤的情況'的未定義 '' 不能讀取屬性的名字。我該如何解決這個問題?

+0

嘗試完全張貼問題。我們也需要你的html –

+1

這意味着,你的文件控制沒有文件。 idProjectTitle [某些值] .files [0]未定義。 –

回答

1

試試這個。它應該解決,如果你只想添加現有的文件。

$('.idProjectTitle').change(function(){ 
 

 
    var idProjectTitle = document.getElementsByClassName("idProjectTitle"); 
 

 
       
 
       var path2 = ""; 
 
      for (var i = 0; i < idProjectTitle.length; i++) { 
 
       if(idProjectTitle[i].files[0] != undefined){ 
 
        path2 += idProjectTitle[i].files[0].name + ',';    
 
} 
 
      } 
 
       $('#hdProjectTitle').val(path2); /*Here is setting image names as hdfield value*/ 
 
      
 
      });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="file" name="file" multiple class="idProjectTitle" /> 
 

 
<input type="text" id="hdProjectTitle" name="hdProjectTitle" />

+0

我認爲它只是我的答案副本 – JYoThI

+0

我沒有給這行代碼'if(idProjectTitle [i] .files [0]!= undefined)',那是錯誤原因。謝謝 – AbhiJA

+0

@AbhiJA歡迎您。 –

1

你必須做這file input on change函數內這樣

$('.idProjectTitle').change(function(){ 
 

 
var idProjectTitle = document.getElementsByClassName("idProjectTitle"); 
 

 
      
 
      var path2 = ""; 
 
      for (var i = 0; i < idProjectTitle.length; i++) 
 
      { 
 

 
       if(idProjectTitle[i].files[0] != undefined) 
 
       { 
 
        path2 += idProjectTitle[i].files[0].name + ','; 
 

 
       }    
 
      } 
 

 
      $('#hdProjectTitle').val(path2); 
 
      
 
      });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="file" name="file" multiple class="idProjectTitle" /> 
 

 
<input type="text" id="hdProjectTitle" name="hdProjectTitle" />