1

これは私のコードです:

<script type="text/javascript">    
 $(function(){
   var btnUpload=$('#browse');
   var adinfoid=$('#adinfoid').val();

   new AjaxUpload(btnUpload, {
     action: '<?php echo base_url()?>index.php/post/upload_editmainimage/'+adinfoid,
     name: 'uploadfile',
     onSubmit: function(file, ext){
       if (! (ext && /^(jpg|png|jpeg|gif|JPG|PNG|JPEG|GIF)$/.test(ext))){
         $("#mainphotoerror").html('Only JPG, PNG, GIF, files are allowed');
         $("#mainphotoerror").css('display','block');
         return false;
       }        
     },
     onComplete: function(file, response){
       //alert(response);
       if(response){
         alert('success');
       }else{
         alert("error");
       }
     }
   });  
 });    
</script>

HTML 部分

<table width="200" border="1">
  <?php 
   for($i=0;$i<20;i++){
  ?>
  <tr>
    <td>Add Photo <?php echo $i;?></td>
    <td>
      <input type="button" 
             id="browse<?php echo $i;?>" 
             class="browse_media" 
             value="Browse">
    </td>
  </tr>
  <?php
   }
  ?>
</table>

最初の参照ボタンをクリックすると、ファイルを開くウィンドウが表示されますが、2番目から最後まで、画像を選択するための開始ウィンドウが表示されません。

コードのどこに問題がありますか?

ajax アップロード用の .js ファイルを既にロードしていますか?

ajaxを使用して複数のファイルブラウザボタンから画像をアップロードするにはどうすればよいですか?

4

5 に答える 5

0

このプラグインを試すことができますhttp://blueimp.github.com/jQuery-File-Upload/

これは私が今まで見つけた中で最高です。1 つの addfiles buttonで必要な数のファイルを追加できます。グローバルとローカルの両方のプログレス バーと他の多くのオプションがあります。

于 2012-05-17T12:00:55.580 に答える
0

HTML の id タグについて知っておく必要があります。一意の IDentifier でなければなりません

これを試して:

var btnUploads=$('input.browse_media');
var adinfoid=$('#adinfoid').val();
new AjaxUpload(btnUploads, {

そしてphpで

<td><input type="button" id="browse<?php echo $i?>" class="browse_media" value="Browse"></td>
于 2012-05-17T06:34:42.740 に答える
0

複数のファイルをアップロードするには、Jquery プラグインの uploadify() を使用して、デモのリンクを確認してください: http://www.uploadify.com/demos/

于 2012-05-17T06:36:11.567 に答える
0
as Sergey mentioned id should be unique with in a html page and with in the ready function of jquery try this code of uploadify :

$(function() {
<?php for($i=0;$i<20;i++){?>

   $("#browse<?php echo $i?>").uploadify({
        height        : 30,
        swf           : '/uploadify/uploadify.swf',
        uploader      : '/uploadify/uploadify.php',
        width         : 120
    });
<?php }?>
});

詳細については、uploadify サイトを確認してください

于 2012-05-17T06:48:27.373 に答える
0

複数のアップロードの場合は、パラメータ 'multi' を設定します: ture

    $(function() {
      $("#file_upload").uploadify({
        'multi'    : true,
        'swf'      : '/uploadify/uploadify.swf',
        'uploader' : '/uploadify/uploadify.php'
      });
   });
于 2014-06-03T08:36:20.403 に答える