jQuery-IF ELSE-未读取任何变量


jQuery - IF ELSE - Not reading any variables

问题:

更新:我发现它不仅仅是从帖子中返回的数据。实际上,每个if else语句几乎完全忽略了我的变量

我试着做一些非常简单的事情来验证我上面的陈述。

当执行下面的代码时,不会发生任何事情。我在if语句之前添加了consol.log()(代替警报(,以确保它将数据发送到DOM,并且是.

HTML

<input type='submit' name='Confirm' class='button' value='Confirm' >
<input type='submit' name='Cancel'  class='button' value='Cancel'  >

JS

$( '.button' ).on( 'click' , function() {
        var btnName = $( this ).attr( 'name' ) ;
        var cancel  = "Cancel"  ;
        var confirm = "Confirm" ;
        alert( btnName + cancel + confirm ) ;
        if ( btnName == cancel ) {
            //some function here . .
        } else if ( btnName == confirm ) {
            //some function here . .
        }

EDIT如果我运行下面的代码,那么警报总是Cancel。。。什么软糖

$( '.button' ).on( 'click' , function() {
        var btnName  = $( '.button' ).attr( 'name' ) ;
        if ( btnName == "Cancel" )  {
            alert( 'Cancel' ) ;
        } else if ( btnName == "Confirm" ) {
            alert( 'Confirm' ) ;
        }

无论我单击什么,if语句中的函数都不会运行。奇怪的是,当它点击alert( btnName + cancel + confirm ) ;时,浏览器中警报的数据是准确的,就像在中一样,如果我点击name='Confirm',警报输出看起来像ConfirmCancelConfirm。。。

我假设您有一个错误:

function( data ) {
        if ( returnedData == "Company Added" ) { //right here
            $( '#navAdmin' ).click() ;
        } else {
            alert( data ) ;
        }
    }

应该是

function( data ) {
        if ( data == "Company Added" ) {
            $( '#navAdmin' ).click() ;
        } else {
            alert( data ) ;
        }
    }

我试过你的JS代码。

if ( btnName != cancel ) {
// This function is normal
} else {
// This function is also work
}

这是我的机器和浏览器上的工作。和您的(if-else-else-if代码也可用(。

Chrome 44.0.2403.157(64位(

终于找到了我的问题

我不知道它发生在哪里,但例如,当我分配一个变量时;

$( '.button' ).on( 'click' , function() {
    var btnName = $( this ).attr( 'name' ) ;
}

出于某种原因,在字符串之前添加了一堆whiteSpace。

开始使用:

$( '.button' ).on( 'click' , function() {
    var btnName     = $( this ).attr( 'name' ) ;
    var trimmedData = ( btnName ).trim() ;
    if ( trimmedData == "Confirm" ) {
        alert( "Confirm" ) ;
    } else if ( trimmedData == "Cancel" ) {
        alert( "Cancel"  ) ;
}

我把它放在我的$.post函数中,它也在工作。我不知道额外的空间是从哪里来的,欢迎其他想法。如果我在这里做错了什么,请告诉我。。