BebeSaiyan Ответов: 1

Ajax file upload control validation не работает должным образом с использованием javascript и ASP.NET


Я попытался создать проверку для управления загрузкой файлов ajax в asp.net. В принципе, если пользователь не загружает два изображения (которые находятся в отдельном элементе управления загрузкой файлов), а затем нажимает кнопку Отправить, он не будет выполнять обратную передачу для сохранения в базе данных, и под элементом управления fileupload появится сообщение для загрузки изображения. Но даже если я уже загружаю изображение и снова нажимаю кнопку Отправить, оно не откатывается и не сохраняется в базе данных.

Похоже, что он все еще возвращает значение null, даже если я уже загрузил изображение. Существуют ли другие способы проверки элемента управления загрузкой файлов ajax, чтобы проверить, действительно ли пользователь загрузил изображение? Пожалуйста, помогите мне решить эту проблему. Я включил фактические коды ниже.

Вот aspx:

Что я уже пробовал:

<asp:AjaxFileUpload ID="itemFileUpload1" runat="server" 
 OnUploadComplete="itemUploadImage1_Click" MaximumNumberOfFiles="1"/>
                      <p  id="itemImage1Validate"></p>


А вот и код javascript:

function checkForm(form) {
var errors = [];

if (form.itemFileUpload1.value == null) {
    errors[0] = "Please upload item image 1!";
}

if (form.itemFileUpload2.value == null) {
    errors[1] = "Please upload item image 2!";
}


if (errors.length > 0) {

    if (errors[0] != null) {
        document.getElementById("itemImage1Validate").innerHTML = errors[0];
    }

    if (errors[1] != null) {
        document.getElementById("itemImage2Validate").innerHTML = errors[1];
    }

    return false;
}

return true;
}

1 Ответов

Рейтинг:
1

Karthik_Mahalingam

попробовать это

var itemsSelected = document.querySelector('[id$="itemFileUpload1"]').getElementsByClassName('ajax__fileupload_fileItemInfo');
if (itemsSelected.length == 0)
{
    alert('Please choose a file');
}