Javascript条件正在以任意方式执行

Javascript Conditions are Executing Either Way

本文关键字:任意 方式 执行 条件 Javascript      更新时间:2023-09-26

请帮我解决这个问题,我真的不知道问题出在哪里。我的代码:

function validateForm()
{
    var pic = document.getElementById("photo1").value;
    pic = pic.split('/').pop().split('''').pop().replace(/[.][^.]+$/, "");
    var x = document.getElementById("gyuruszam");
    var gyuru = document.getElementById("gyuruszam").value;
    if (gyuru == null || gyuru == "" || gyuru == " ")
    {
        alert("Gyűrűszám nélkül nem lehet adatot lementeni!");
        x.focus();
        x.style.borderColor="#C30";
        return false;
    }
    if ((gyuru != pic) && (pic != NULL)){
        alert("A kép neve nem egyezik meg a gyűrűszámal!");
        return false;
    }
}

如果我不在字段上选择文件,我不知道为什么要执行第二个if。我只想要一个if条件,如果我选择文件,而gyuru与文件名不相等,则返回false并返回错误消息。但如果我没有选择一个文件,则返回true(或者甚至没有进入循环)提前谢谢!编辑:我也尝试这种方式:

function validateForm()
{
    var pic = document.getElementById("photo1").value;
    pic = pic.split('/').pop().split('''').pop().replace(/[.][^.]+$/, "");
    var x = document.getElementById("gyuruszam");
    var gyuru = document.getElementById("gyuruszam").value;
    if (gyuru == null || gyuru == "" || gyuru == " ")
    {
        alert("Gyűrűszám nélkül nem lehet adatot lementeni!");
        x.focus();
        x.style.borderColor="#C30";
        return false;
    }
    else if ((gyuru != pic) && (pic != NULL)){
        alert("A kép neve nem egyezik meg a gyűrűszámal!");
        return false;
    }
}

它是有效的,但不是我想要的,因为如果我上传一个不同名称的文件,不等于gyuru,它会返回true。我的表单数据是:

<form...
<input type="text" id="gyuruszam" name="gyuruszam"/>
<input type="file" id="photo1" name="photo1"/>
../form>

我检查返回的文件名pic,它是正确的!

对不起,我不确定你想要什么。你的代码有一个错误,NULL不存在,你应该放null。第二个问题:pic不能为null,如果不选择文件,它将是一个空字符串。

所以我猜你正在寻找:

} else if ((gyuru != pic) && (pic != null) && (pic != '')) {

请在此处尝试:http://jsfiddle.net/nyothecat/ALjGJ/