0

我对一个简单的 IF 语句有一个奇怪的问题:

<script language='javascript' type="text/javascript">
    function laststep() {

        if(!document.touch.captcha.value == "L5J7K") {
            alert("Ingevoerde code is niet juist.");
            return false;
        }

        if(!document.touch.agree.checked) {
            alert("Accepteer algemene voorwaarden.");
            return false;           
        }
    }
</script>

第二个 IF 条件工作正常。但是第一个不起作用。第一个的值为'NotProvided'。

你们能帮帮我吗?

4

2 回答 2

4
if(!document.touch.captcha.value == "L5J7K"){

应该

if(!(document.touch.captcha.value == "L5J7K")){

或者

if(document.touch.captcha.value != "L5J7K"){

在您当前的代码中,!document.touch.captcha.value首先评估,然后将该结果与 进行比较"L5J7K",这不是您想要的。

于 2013-08-09T14:56:57.427 回答
1

!document...会将其转换为布尔值以进行比较,其中它将为假,并且该语句将永远不会成功,因为该字符串是真实的。

if (document.touch.captcha.value != "L5J7K"){
于 2013-08-09T14:57:44.263 回答