字符串比较javascript中的失败

时间:2014-12-29 12:30:51

标签: javascript php jquery string

 <div id="error" class="modal fade">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                    <h4 class="modal-title" id="modal_head">Activation</h4>
                </div>
                <div class="modal-body">


                    **<p id="error_record"> <?php echo $msg; ?> </p>**           \\line 1


                    <p class="text-warning"><small id="direction"></small></p>

                </div>
                <div class="modal-footer" align="center">
                    <button onclick="redirect()" type="button" class="btn btn-primary" >Okay</button>
                </div>
            </div>
        </div>
    </div>

我需要将div中的字符串与id&#34; error_record&#34;进行比较。如下:

<script>
        window.onload=function()
        {
            $("#error").modal('show');
        }
        function redirect(){
            var val=document.getElementById("error_record").innerHTML;      \\line2
            alert(val);                                                      \\line 3
            if(val=="Invalid Link"||val=="Invalid Link."||val=="Empty Link")
            {
                window.location="index.php";
            }
            if(val=="Activation Successful"||val=="Your Account is already activated.")
            {
                window.location="dashboard.php";
            }
        }
    </script>

但在评论第2行中,它总是在比较中返回false。

注释行3中的警报给出相同的字符串,但比较返回false。

它与第1行的回声有关吗?

我有     $ msg =&#34;空链接&#34 ;;

2 个答案:

答案 0 :(得分:1)

你有空格,我写了下划线<p id="error_record">_<?php echo $msg; ?>_</p>, 这就是为什么你的字符串不等于。 删除空格,或在innerHTML上使用.trim()功能删除空格。

答案 1 :(得分:0)

而不是使用(double equals)==

使用indexOf() != -1,如下所示代码,让我知道它是否有效:

if(val.indexOf("Activation Successful")!=-1||val.indexOf("Your Account is already activated.")!=-1) {
    window.location="dashboard.php";
}