Javascript IF语句总是正确的

Javascript IF语句总是正确的,javascript,parameter-passing,client-side,radwindow,hiddenfield,Javascript,Parameter Passing,Client Side,Radwindow,Hiddenfield,我有一个窗口,用于向应用程序中的用户显示错误消息。 我的目标如下; 如果消息不是警告/错误,我希望用户在单击弹出窗口上的“确定”时重定向。 为了实现这一点,我在操作成功时将HiddenField值设置为1,在操作失败时将其设置为0。 我的问题是,当我在客户端检查HiddenField值时,IF语句总是返回true,页面被重定向 下面是我设置hiddenfield值和设置radwindow消息的情况 if(x) { hfPasswordWarning.Value = "0"; Show

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

下面是我设置hiddenfield值和设置radwindow消息的情况

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

else
{
   hfPasswordWarning.Value = "1";
   ShowMessage(MessageResource.ChangePasswordSuccess,true);
}
以及我遇到问题的客户端代码,如果语句总是正确的话

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

    if (hv.val = "1") {
        window.location = "../Main/Login.aspx";
    } else {
        return false;
    }
我添加了一个Alertxx来检查它是否进入else语句,但它没有。我已经尽可能地简化了对我问题的解释。谢谢你的理解。

你写的

if (hv.val = "1")
但在代码中,这是一个赋值为true的赋值:检查相等性是==按值相等或===按值相等,并键入

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

x=y将y指定给x x==y检查y和x是否大致相等 x===y检查y和x是否相等且类型相同
所以您需要做的是将if hv.val=1替换为if hv.val==1 在你的if语句中试试这个

if(hv.val=="1")

事实上,赋值并不总是真的,但它共享赋值的真实性。现在它在任何情况下都不会重定向。我很抱歉遗漏==tho,我的错。如果hv==1,您可能需要简单地写下-hv是前一行val方法返回的结果。谢谢您的好心先生,谢谢您真诚的帮助。@user1595357如果这有帮助,您应该接受答案: