0

我正在尝试编写一个 javascript 验证和 if 语句来表示以下内容:

字段 1 可以自行输入和提交。

可以输入字段 2,但如果是这种情况,则还必须输入字段 3,然后可以提交字段 1、2 和 3,或者只提交字段 2 和 3,而没有字段 1。

字段 3 如果按最后一句输入,还必须包括字段 2。

我应该选择哪三个 VAR 进行一次验证?

这是我到目前为止所写的:

function DoCustomValidation()
{
var first = document.forms["readings"] ["GlucoseLevel"].value;
var second = document.forms["readings"] ["SBP"].value;
var third = document.forms["readings"] ["DBP"].value;

if (

我知道如何以及在哪里创建验证并将验证放在我的 .PHP 文件等中,只是我很难编写 if else 语句,因为我使用 java 已经有一段时间了,而且我已经失去了联系。

非常感谢任何帮助。

4

2 回答 2

1

这是我能做到的最精简的。

function DoCustomValidation()
{
    var first = document.forms["readings"] ["GlucoseLevel"].value;
    var second = document.forms["readings"] ["SBP"].value;
    var third = document.forms["readings"] ["DBP"].value;

    if(!second==!third){
        if(!first===false){
            return true;
        }
        else if (!second===false){
            return true;
        }
    }
    return false;
}

编辑:添加消息如果您想在表单提交失败时收到消息,试试这个

function DoCustomValidation()
{
    var first = document.forms["readings"] ["GlucoseLevel"].value;
    var second = document.forms["readings"] ["SBP"].value;
    var third = document.forms["readings"] ["DBP"].value;

    if(!second==!third){
        if(!first===false){
            return true;
        }
        else if (!second===false){
            return true;
        }
        else{
            alert("You cannot submit a blank form.");
        }
    }
    else{
        alert("The SBP and DBP must both be blank or both be filled.");
    }
    return false;
}

写成这样,我不建议对您的验证消息使用警报(和那个特定的文本),但这是我在没有更多信息的情况下能做的最好的事情。

于 2012-05-07T21:24:43.273 回答
0

我认为这可以解决问题,如果第二个和第三个都是发送如果两者都有值,即使第一个没有值,那么如果第一个有值而其他两个是空的,那么你只有一个选择

function DoCustomValidation()
{
    ...
    if(second !="" && third != ""){
        //form submit
        return;
    }
    if(first != "" && second == "" && third == ""){
        //form submit
        return;
    }
}
于 2012-05-07T20:52:18.723 回答