我有这个输入文件:
剃刀:
@Html.TextBox("archivo", "", new { type = "file",id = "archivo" }
HTML:
<input id="archivo" name="archivo" type="file" value="">
当我按下按钮时,如果输入值为空,我想捕获消息:
<button type="button" id="btnCargarCsv" class="btn btn-primary">Cargar</button>
所以在clic函数上我尝试发送消息为:
$("#btnCargarCsv").on("click", function () {
if ($('#archivo').val() == null) {
$('#resultado').html('you need to select file');
}
var data = new FormData();
data.append("archivo", $("#archivo")[0].files[0]);
$.ajax({
"type": "POST",
"url": "/Configuracion/CargaCSV",
...
但是当输入为空时它不会抛出信息,因为它没有被击中:
$('#resultado').html('you need to select file');
类似输入不为空。我究竟做错了什么?
答案 0 :(得分:2)
使用空字符串验证而不是null ..
另请参阅:Link了解null和空
之间的区别可能:Link
$("#btnCargarCsv").on("click", function () {
if ($('#archivo').val() == '') {
$('#resultado').html('you need to select file');
return;
}
var data = new FormData();
data.append("archivo", $("#archivo")[0].files[0]);
$.ajax({
"type": "POST",
"url": "/Configuracion/CargaCSV",
...
答案 1 :(得分:1)
检查长度。
if ($('#archivo').get(0).files.length === 0) {
$('#resultado').html('you need to select file');
}
答案 2 :(得分:0)
试一试..!
if ($('#archivo').get(0).files.length === 0) {
//console.log("No files selected.");
//alert("Please select file..");
$('#resultado').html('you need to select file');
}
希望这会有所帮助..!
答案 3 :(得分:0)
我不知道为什么你的代码不起作用。但是,只需在html中添加必需的标记即可完成文件验证(无效或无效)。
<input... [whatever be your type and value].. required/>
验证将通过这段代码完成。
也许它不是空的,用“”尝试并检查......
if($('#archivo').val()=="")
{
//print your message
}
else
//your logic goes here
答案 4 :(得分:0)
您可以检查变量是否具有真值。在你的情况下它将是
if(!$('#archivo').val()) {
$('#resultado').html('you need to select file');
return;
}
如果值 false,则为0,空字符串,NaN,未定义,null