2016-04-24 62 views
0

我正在構建的頁面允許用戶添加一個新產品到系統。我在這個頁面上有一個jQuery問題,除非我上傳一張不應該發生的照片,否則頁面不會讓我繼續,客戶應該能夠繼續而不需要上傳該項目的照片。有一個文本框用於產品名稱,產品項目代碼,類別下拉列表和圖像上傳。我需要放置一些代碼,以便點擊完成按鈕而不需要上傳圖像。這裏是我的代碼:jQuery bug - 無法上傳圖片不能繼續

$('#fileupload').fileupload('option', { 
    autoUpload: false, 
    singleFileUploads: false, 
    replaceFileInput: false, 
    // Enable image resizing, except for Android and Opera, 
    // which actually support image resizing, but fail to 
    // send Blob objects via XHR requests: 
    disableImageResize: /Android(?!.*Chrome)|Opera/ 
     .test(window.navigator.userAgent), 
    acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i, 
    previewMaxWidth: 100, 
    previewMaxHeight: 100, 
    previewCrop: true 
}).on('fileuploadadd', function (e, data) { 
     $('#previews').empty(); 
    $("#finish").off('click').on('click', function() { 
     var sku = $("#productSKU").val(); 
     var name = $("#productName").val(); 
     var affiliateId = $("#AffiliateID").val(); 
     var Errors = ""; 
     var category = null; 
     var defaultName = $('#defaultImgName').val(); 

     if ($("#childCategories_" + categoryLevel).length == 0) { 
      category = $("#categoryList").val(); 
     } 
     else if ($("#childCategories_" + categoryLevel).val() == 0) { 
      category = null; 
     } 
     else { 
      category = $("#childCategories_" + categoryLevel).val(); 
     } 

     if (!sku) { 
      Errors += "<li> You can not add a product without an Item Code</li>"; 
     } 
     if (!name) { 
      Errors += "<li> You can not add a product without a Name</li>"; 
     } 
     if (!category) { 
      Errors += "<li> You can not add a product without a Category</li>"; 
     } 

     if (Errors != "") { 
      cua({ text: Errors, type: 'danger' }) 
     } 
     else { 
      data.formData = { productName: name, productSKU: sku, affiliateID: affiliateId, categoryID: category, defaultImgName: defaultName } 
      data.submit(); 
     } 
    }); 
}).on('fileuploadprocessalways', function (e, data) { 
    var index = data.index, 
     file = data.files[index], 
     node = $('#previews'); 

    node.append("<div class=\"img-preview\"></div>"); 
    var innernode = node.find('.img-preview').last(); 
    innernode.append(file.preview); 
    innernode.attr('data-name', file.name); 

    var firstImg = node.find('.img-preview').first(); 
    $('.default-img').removeClass('default-img'); 
    firstImg.addClass('default-img'); 
    $('#defaultImgName').val($('.default-img').data('name')); 

    if (file.error) { 
     node 
      .append('<br>') 
      .append($('<span class="text-danger"></span>').text(file.error)); 
    } 
}).on('fileuploaddone', function (e, data) { 
    if (data.result != false) { 
     cua({ text: 'Successfully added new item', type: 'success' }); 
     closeAddNew(); 
    } 
}); 

我試圖用我的鉻開發工具進行調試,但它仍然難以隔離此問題。任何有關這個問題的幫助將不勝感激。

謝謝

回答

0

您需要分離驗證圖像和其他輸入字段驗證。 希望它有幫助,謝謝;)