如果满足条件,则不应满足

时间:2018-08-28 18:30:14

标签: javascript jquery if-statement

我正在运行if-statement,以检查文件上传输入是否为空。我正在使用以下代码fileNameVal检查if (fileNameVal != null) {。如果文件输入中没有任何内容,似乎应该总是运行true。

fileShow.text()代码行始终显示。

有人看到我在做什么错吗?

var fileShow = $('#fileUploadMessage');
	fileShow.hide();
	var fileNameVal = '';
    	
    $('#uploadedFileTest').change(function () {
		fileNameVal = $('#uploadedFileTest').val();
		console.log(fileNameVal);
	});
    
    
    $("form#submit").submit(function (e) {
        $.LoadingOverlay("show");
         if (fileNameVal != null) {
			fileShow.text('Please wait while your file uploads.');
			fileShow.show();
		}
    });
#fileUploadMessage {
    	position: fixed;
        bottom: 20vh;
    	left: 50%;
    	-webkit-transform: translateX(-50%);transform: translateX(-50%);
    	color: #000;
    	font-size: 3rem;
    	font-family: 'Muli', sans-serif;
    	letter-spacing: .2rem;
    	text-align: center;
    	display: block;
    	z-index: 9999999999999999999999999999999999999;
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="" method="POST" id="submit">
    	<input id="first_name" type="text">
    	<input type="file" name="uploadedFile" class="inputfile" id="uploadedFileTest" data-multiple-caption="{count} files selected" multiple>
    	<p id="fileStatus">Upload File</p>
    	<button type="submit">SEND</button>
    </form>
    <p id="fileUploadMessage"></p>

3 个答案:

答案 0 :(得分:2)

您不会将其初始化为null,而是将其初始化为空字符串,所以请执行以下任一操作:

  1. 用支票中的空字符串代替支票:

    if (fileNameVal != '') {
    
  2. 替换初始化,使其为空,而不是空:

    var fileNameVal = null;
    

答案 1 :(得分:1)

只做

if (fileNameVal)

如果包含空字符串,空值或不确定值,则返回false

答案 2 :(得分:1)

您需要了解比较,严格比较以及javascript中的错误

基本上是0,'',“”,NAN,null,未定义和false本身以布尔表达式返回false,所有其他文字例如:1,“ HI”,{}将返回true

此图显示比较结果(==或!=)和严格比较结果(===或!==)

image

这个,你可以做

if(fileNameVal)
{//do stuff
}