Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在jQuery中忽略两个空值或未赋值值?_Javascript_Jquery_Null_Onblur_Htmltext - Fatal编程技术网

Javascript 如何在jQuery中忽略两个空值或未赋值值?

Javascript 如何在jQuery中忽略两个空值或未赋值值?,javascript,jquery,null,onblur,htmltext,Javascript,Jquery,Null,Onblur,Htmltext,我使用此代码比较两个值,以验证它们是否相同: $(document).on("blur", "[id$=boxSection5Total]", function (e) { var totalvalue = $(this).val(); var paymenttotalvalue = $('[id$=boxPaymentAmount]').val(); if (totalvalue != paymenttotalvalue) { console.log("

我使用此代码比较两个值,以验证它们是否相同:

$(document).on("blur", "[id$=boxSection5Total]", function (e) {
    var totalvalue = $(this).val();
    var paymenttotalvalue = $('[id$=boxPaymentAmount]').val();
    if (totalvalue != paymenttotalvalue) {
        console.log("The value in 'Total' does not equal the previous value in 'Payment Total.'");
        alert("The value in 'Total' does NOT equal the previous value in 'Payment Total.' payment total is " + paymenttotalvalue + " and total is " + totalvalue);
    }
    else {
        console.log("The value in 'Total' DOES equal the previous value in 'Payment Total'");
    }
});
但是,如果两个文本元素都留空,则会失败-它们被视为不相等(“if(totalvalue!=paymenttotalvalue)”条件为true)

如何重构代码,使其忽略两个元素都为空的情况

比如:

$(document).on("blur", "[id$=boxSection5Total]", function (e) {
    var totalvalue = $(this).val();
    var paymenttotalvalue = $('[id$=boxPaymentAmount]').val();
    if ((totalvalue == null) & (paymenttotalvalue == null)) {
        return;
    }
    . . .
});
?


“boxSection5Total”和“boxPaymentAmount”都是文本元素(文本框)。

如果它们实际上是空白文本值,则使用

if(totalvalue === "" && paymenttotalvalue === "")
{
    return;
}
或者(我想)


如果这些实际上是空白文本值,则使用

if(totalvalue === "" && paymenttotalvalue === "")
{
    return;
}
或者(我想)


如果您想特别检查null,您应该尝试这样的方法

if (totalvalue !== null && paymenttotalvalue !== null && totalvalue != paymenttotalvalue)
如果要检查不真实(也请参见此处:),可以使用以下选项:

if (totalvalue && paymenttotalvalue && totalvalue != paymenttotalvalue)

如果您想特别检查null,您应该尝试这样的方法

if (totalvalue !== null && paymenttotalvalue !== null && totalvalue != paymenttotalvalue)
如果要检查不真实(也请参见此处:),可以使用以下选项:

if (totalvalue && paymenttotalvalue && totalvalue != paymenttotalvalue)

该值将不会为“null”,并且
“==null
为false。如果(!totalvalue&&!paymenttotalvalue){return;},则对现有的最简单也是最惯用的更改是
,但最好与其他条件组合。@如果它来自html表单,则其主要被视为空值,该值将不会为“null”,并且
“==null
为false。如果(!totalvalue&&!paymenttotalvalue){return;}
,则对现有的最简单也是最惯用的更改是
,但最好与另一个条件组合使用。@up true,如果它来自html表单,则通常被认为是空值,并且===而不是==(例如,false==“”实际上是true)getElementById将不起作用,因为Sharepoint元素前面有一堆希腊语、俄语、保加利亚语等,比如“id=zorbaIvan_bulgarischesSemillaDe0143209870945634-boxSection5Total”在事件处理程序中返回布尔值?@B.Clay Shannon您可以返回您想要的内容。我添加的代码本应仅用作示例中的sudo代码。@常识:好的,没有问题。和===而不是==(例如,false==“”实际上是真的)getElementById不起作用,因为Sharepoint元素前面有一堆希腊语、俄语、保加利亚语等,如“id=zorbaIvan_bulgarischesSemillaDe0143209870945634-boxSection5Total”在事件处理程序中返回布尔值?@B.Clay Shannon您可以返回您想要的值。我添加的代码只应该用作示例中的sudo代码。@常识:好的,不用担心。