IF声明始终如一

时间:2012-10-10 07:38:38

标签: javascript parameter-passing client-side radwindow hiddenfield

我有一个radwindow,用于向应用程序中的用户显示错误消息 我的目标如下:
如果消息不是警告/错误,我希望用户在弹出的radwindow上单击“确定”时被重定向。 为此,我在操作成功时将HiddenField值设置为“1”,并在操作失败时将其设置为“0”。 我的问题是,当我在客户端检查HiddenField值时,IF语句总是返回true,并且页面被重定向。

以下是我设置隐藏字段值并设置radwindow消息的情况;

if(x)
{
   hfPasswordWarning.Value = "0";
   ShowMessage(MessageResource.ChangePasswordAuthenticateError,false);
}

else
{
   hfPasswordWarning.Value = "1";
   ShowMessage(MessageResource.ChangePasswordSuccess,true);
}

我遇到问题的客户端代码,IF语句总是正确的;

var hv = $('#hfPasswordWarning').val();

    if (hv.val = "1") {
        window.location = "../Main/Login.aspx";
    } else {
        return false;
    }

我添加了一个Alert(“xx”)来检查它是否进入了else语句,但它没有。我试图尽可能地简化我的问题的解释。谢谢你的理解。

3 个答案:

答案 0 :(得分:4)

您需要使用=====进行比较,而不是=

  • x = yy分配给x
  • x == y检查yx是否宽松相等
  • x === y检查yx是否相同且类型相同

因此,您需要做的是将if (hv.val = "1")替换为if (hv.val == "1")

答案 1 :(得分:3)

你写了

if (hv.val = "1")

但这是一个赋值(在代码中评估为true):检查相等性是==(按值相等)还是===(按值和类型相等)

答案 2 :(得分:1)

你使用了=运算符,它用于比较==运算符的运算尝试这个 在你的if语句中试试这个

if(hv.val=="1")