2016-04-24 3 views
0

Die Seite, die ich erstelle, erlaubt dem Benutzer, ein neues Produkt dem System hinzuzufügen. Ich habe ein jQuery-Problem mit dieser Seite, auf der die Seite mich nicht fortfahren lässt, wenn ich kein Foto hochlade - was nicht passieren sollte, sollte der Kunde fortfahren können, ohne ein Foto für den Gegenstand hochzuladen. Es gibt ein Textfeld für den Produktnamen, den Produktartikelcode, ein Dropdown-Menü für Kategorien und einen Upload für ein Bild. Ich muss etwas Code einfügen, damit die Schaltfläche "Beenden" angeklickt werden kann, ohne dass ein Bild hochgeladen wird. Hier ist mein Code:jQuery-Fehler - Kann nicht fortgesetzt werden, ohne Bild hochzuladen

$('#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(); 
    } 
}); 

habe ich versucht, es zu debuggen mit meinen Chrom-Entwickler-Tool, aber es ist immer noch schwer zu isolieren dieses Problem. Jede Hilfe bei diesem Problem würde sehr geschätzt werden.

Danke,

Antwort

0

Sie die Validierung für Bild und andere Eingabevalidierungsfelder trennen müssen. Hoffe es hilft, danke;)

Verwandte Themen