JS的全新。
我在尝试使用jQuery / JavaScript提交表单时检查文件输入元素是否为空。
我已经经历了一系列解决方案,没有什么对我有用。我试图避免/c/fakepath
(除非没有其他选择)
<input type="file" name="videoFile" id="videoUploadFile" />
这不起作用:
var vidFile = $("#videoUploadFile").value;
我可以获取文件名的唯一方法是使用以下内容:
var vidFile = document.getElementById("videoUploadFile").files[0].name;
如果没有可用文件,代码会抛出错误:
无法读取未定义的属性名称
这是有道理的,因为没有设置数组。但是我无法弄清楚如何使用它进行任何错误处理。
如何正确抓取文件输入元素videoUploadFile
,检查它是否为空,如果它是空的则会抛出错误消息?
答案 0 :(得分:128)
只需检查files属性的长度,该属性是输入元素中包含的FileList对象
if( document.getElementById("videoUploadFile").files.length == 0 ){
console.log("no files selected");
}
答案 1 :(得分:104)
以下是它的jQuery版本:
if ($('#videoUploadFile').get(0).files.length === 0) {
console.log("No files selected.");
}
答案 2 :(得分:11)
检查输入文件是否为空
通过使用文件长度属性,应指定index
,如下所示:
var vidFileLength = $("#videoUploadFile")[0].files.length;
if(vidFileLength === 0){
alert("No file selected.");
}
答案 3 :(得分:4)
我知道我参加聚会很晚,但是我想我将为此使用的内容添加了-这就是使用not运算符和JQuery像这样简单地检查文件上传输入是否不包含真实值所以:
if (!$('#videoUploadFile').val()) {
alert('Please Upload File');
}
请注意,如果这是在表单中,则可能还需要使用以下处理程序将其包装起来,以防止表单提交:
$(document).on("click", ":submit", function (e) {
if (!$('#videoUploadFile').val()) {
e.preventDefault();
alert('Please Upload File');
}
}
答案 4 :(得分:2)
# Example using mutate
my_df <- my_df %>%
mutate(
C = case_when(is.na(C) & !is.na(D) ~ D,
!is.na(C) & is.na(D) ~ C,
# The lines below may be a bit redundant for my purpose, since the dataframes either have the C or D variable.
!is.na(C) & !is.na(D) ~ C, # Better would be to return that variable has overlapping information
is.na(C) & is.na(D) ~ NA
)
) %>%
select(-D)
my_df
# A tibble: 6 x 3
A B C
<dbl> <chr> <lgl>
1 1 X TRUE
2 2 Y FALSE
3 3 Z FALSE
4 3 U TRUE
5 4 V TRUE
6 5 W FALSE
答案 5 :(得分:1)
问题:如何检查文件是否为空?
Ans:我已经使用这个Jquery代码解决了这个问题
//If your file Is Empty :
if (jQuery('#videoUploadFile').val() == '') {
$('#message').html("Please Attach File");
}else {
alert('not work');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="file" id="videoUploadFile">
<br>
<br>
<div id="message"></div>