2012-12-30 120 views
1

我一直在想出一個上傳圖片的即時預覽的可能解決方案。這一切都是通過J'Query完成的,但是如果用戶嘗試上傳超過允許的內容,我希望發出警報。jquery圖片上傳數量和限制

,它會將圖像的代碼:

$(".share_button").click(function() 
     { 
      var shareval = $("#share").val(); 
      var uploadvalues=$("#uploadvalues").val(); 
      var X = $('.preview').attr('id'); 

      if(X) 
      { 
       var Z = X+','+uploadvalues; 
      } 
      else 
      { 
       var Z = 0; 
       var dataString = 'share='+ shareval+'&uploads='+Z; 
      } 

      if($.trim(shareval).length==0) 
      { 
       alert("Please Enter Some Text"); 
      } 
      else 
      { 
       // Hide No Shares If Visible 
       $("#Nodata").slideUp();      
       // Display Quick Update 
       $("#flash").show(); 
       $("#flash").fadeIn(400).html('Posting Share...'); 
       $.ajax({ 
        type: "POST", 
        url: "<?php echo SITE_PATH; ?>app/web/home/share_ajax.php", 
        data: dataString, 
        cache: false, 
        success: function(html) 
        { 

         $("#flash").fadeOut('slow'); 
         $("#content").prepend(html); 
         $("#share").val(''); 
         $("#share").focus(); 
         $('#preview').html(''); 
         $('#uploadvalues').val(''); 
         $('#photoimg').val(''); 
        } 
       }); 

       $("#preview").html(''); 
       $('#imageupload').slideUp('fast'); 
      } 
      return false; 
     }); 

我想到了一個解決方案可以在文本檢查前把這樣的:

if($.trim(X).length > 2) 
{ 
    alert("Only Two Images No More"); 
} 

但這並沒有工作,我不是太熱用J'Query。任何幫助或指導將不勝感激。

更新:

這是HTML標記:

<div id="imageupload" style="display:none;">   
    <form id="imageform" method="post" enctype="multipart/form-data" action='<?php echo SITE_PATH; ?>app/web/home/image_ajax.php'> 
     <!-- Upload Preview --> 
     <div id="preview"></div> 
     <!-- Upload Image --> 
     <div class="clear"></div> 
     <input type="file" name="photoimg" id="photoimg" style="display:none"/> 
     <a id="upload-share-button" class="button" style="width:570px;text-align:center;margin:10px;">Upload Images</a> 
     <input type='hidden' id='uploadvalues'/> 
    </form> 
</div> 
+0

_「如果用戶嘗試上傳超過允許的內容。」_您能詳細說明嗎? – undefined

+0

對不起,我應該說,目前用戶可以上傳儘可能多的他們的願望。我希望設置一個限制,所以他們只能上傳說2張圖片。 – HireLee

+0

是否使用多個屬性進行文件輸入? – undefined

回答

0

看來你使用多個屬性的文件輸入,您可以檢查使用的length財產所選擇的圖像/文件的長度files對象:

var len = $("#uploadvalues").get(0).files.length; 
if (len > 2) { 
    alert("Only Two Images No More"); 
    return; 
} 

http://jsfiddle.net/T2Xhk/

請注意,Internet Explorer不支持File API。

+0

嗨undefined,我試着你的上面的代碼,這打破了j'query我用HTML標記更新了我的questin。 – HireLee

+0

@LeeMarshall嗨,我以爲你正在試圖計算文件對象的長度,但是你沒有使用多個屬性,你想達到什麼目的? – undefined