Как я знаю, выбрал ли мой вход = "файл" выбранный контент

У меня есть простой входной файл <input type="file" name="file" id="file"> но я пытаюсь проверить после публикации, если входной файл имеет контент.

Я пытаюсь использовать $("#file").val(), но dom элементов управления всегда один и тот же.

Ответы

Ответ 1

Что вы подразумеваете под: после сообщения, вы имеете в виду:

- После нажатия кнопки отправки, но перед публикацией или отправкой?

- Вы имеете в виду после того, как оно было отправлено, и содержимое достигло сервера?

Если это первый случай, обязательно верните false в форму, чтобы он не отправлялся, и вы можете проверить, например:

<form onsubmit="return false">

или попытайтесь вернуть логическое значение в форму после вызова функции проверки на submit:

<form onsubmit="return validate()">

Затем, используя Jquery, проверьте ваши данные:

function validate(){

  valid = true;

     if($("#file").val() == ''){
         // your validation error action
        valid = false;

     }

    return valid //true or false
}

если вы обнаружите, что ошибки возвращают false, если данные действительны, верните true. Поняв, как это работает, в конечном счете, все это можно сделать с помощью JQuery:

HTML:

<form id="fileform" action="nextpage.php">

JS:

$('#fileform').submit(function(){
     valid = true;

     if($("#file").val() == ''){
        // your error validation action
        valid =  false;
    }

    return valid
});

Кроме того, если вы проверяете, какой тип файла отправляется, вы можете проверить это сообщение: jQuery - INPUT type = File, Image FileType Validation options?

Если то, что вы хотите сделать, это проверить данные ПОСЛЕ, тогда вы должны закодировать проверку на языке сценариев сервера, например PHP.

Ответ 2

попытайтесь получить значение после отправки формы, как это

$('#yourform').submit(function(){
     var val = $("#file").val();
    if(val == ''){
       return false;
    }
});

Ответ 3

пытается проверить после сообщения

Это будет то, что вы делаете на стороне сервера не на клиенте через jQuery. Если вы помечаете свой вопрос на серверном языке, который используете, мы можем предоставить вам необходимую помощь.