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

时间:2015-08-30 23:40:29

标签: javascript php jquery mysql

问题:

更新:我发现它不仅仅是来自帖子的返回数据。从字面上看,每个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 . .

        }

编辑如果我运行下面的代码,那么警告始终是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 ...

3 个答案:

答案 0 :(得分:1)

我认为你有一个错误:

function( data ) {

        if ( returnedData == "Company Added" ) { //right here

            $( '#navAdmin' ).click() ;

        } else {

            alert( data ) ;

        }

    }

应该是

function( data ) {

        if ( data == "Company Added" ) {

            $( '#navAdmin' ).click() ;

        } else {

            alert( data ) ;

        }

    }

答案 1 :(得分:1)

我尝试了你的JS代码。

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

这适用于我的机器和浏览器。和你的(如果代码也有效,否则为其他)。

  

Chrome 44.0.2403.157(64位)

答案 2 :(得分:0)

终于找到了我的问题

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

$( '.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函数中,它也正常运行。我不知道额外空间的来源,欢迎任何其他想法。如果我在这里做了一些可怕的错误,请告诉我..