2010-12-01 12 views
0

タイトルとリンクを含む複数のファイルをアップロードしたいと思います。私はエラー以下になっていますjquery uploadify

無効なプロパティID

$('#divUpload').uploadifySettings('scriptData',{,'txttitle1':'Title1','tbxLink1':'Link1','1':'image1.PNG'},'1'); 

私のコードは次のようである:

<script type="text/javascript" language="javascript">  
      var divMsg ='<%= divMsg.ClientID %>'; 
      var errcnt=0; 
     $(document).ready(function() { 
     $('#divUpload').uploadify({ 
     'uploader': WebSiteUrl + 'admin/fileupload/uploadify.swf', 
     'script': WebSiteUrl + 'admin/banner-image-upload.aspx?type=fileupload', 
     'multi' : 'true', 
     'method' : 'POST', 
     'cancelImg' : WebSiteUrl + 'admin/images/cancel.png', 
     'folder': '../source/BannerImage', 
     'queueSizeLimit' : '20', 
     'fileDesc' : '*.JPEG;*.JPG;*.GIF;*.PNG;*.BMP', 
     'fileExt': '*.JPEG;*.JPG;*.GIF;*.PNG;*.BMP', 
     'wmode' : 'transparent', 
     'onCancel':function(event,queueID,fileObj,data){if(data['fileCount']==0){txtboxIndex=0;$('#btnUploadfile').hide();}else{txtboxIndex=txtboxIndex-1;}}, 
     'onAllComplete': function(event,data) 
     { 
      if(errcnt==0) 
      {   
       window.opener.location.href =WebSiteUrl + 'admin/home-banner-list.aspx?mode=uploadsucc'; 
       window.close(); 
      } 

     }, 
     'onSelect' : function(event,queueid,fileObj){$('#btnUploadfile').show();}, 
     'onComplete': function(event,queueID,fileObj,response,data){if(response=='maxupload')errcnt++;}}) 
     }); 
     function UploadFiles() 
     {   
      var cnt=''; 
      var str=''; 
      var strLink=''; 

      $('.txttitle').each(function(index){       
       if(jQuery.trim($(this).val())=='') 
       { 
        if(cnt.length ==0) 
         cnt=(index + 1); 
        else 
         cnt=cnt + ',' +(index + 1); 
       } 
      }); 
      if(cnt.length!=0) 
      {  
       alert('Please insert title in photo#' + cnt); 
       return false; 
      } 
      $('.txttitle').each(function(index){ 
       cnt= $(this).attr('name').replace('txttitle',''); 
       str =str + ',\'' + $(this).attr('name') + '\':\'' + $(this).val() + '\''; 
       str =str + ',\'' + $('.tbxLink').attr('name') + '\':\'' + $('.tbxLink').val() + '\''; 
       str= str + ',\'' + cnt + '\':\'' + $('#hdnfile'+ cnt).val() + '\''; 
      });    
      str='{' + str + '}'; 
      alert(str);   

      eval('$(\'#divUpload\').uploadifySettings(\'scriptData\',' + str +');');       
      $('#divUpload').uploadifyUpload(); 
     } 
    </script> 
+2

e ... ...「backticks」またはコードボタンでコードをフォーマットしてください –

答えて

1

あなたはこのように、不正なコードを生成している:

$('#divUpload').uploadifySettings('scriptData',{,'txttitle1':'Title1','tbxLink1':'Link1','1':'image1.PNG'},'1'); 
               ^invalid comma 

しかし、 ... eval()を使用しない方が良い場合は、でデータオブジェクトを構築できますそれはあなたが何をしようとしてのリテラル訳だ確か

var data = {}; 
$('.txttitle').each(function() { 
    data[this.name] = this.value; 
    data[$('.tbxLink').attr('name')] = $('.tbxLink').val(); 
    data[cnt] = $('#hdnfile'+ this.name.replace('txttitle','')).val(); 
}); 
$('#divUpload').uploadifySettings('scriptData',data); 

...あなたはおそらく.tbxLinkを希望しているので、これはまだ、特に$('.tbxLink').attr('name')ライン、最適ではありません。このような、 この.txttitle要素に関連していますが、マークアップが表示されていないと、そのように見えるものを正確に言うことはできません。

関連する問題