0

我正在尝试将禁用属性删除/添加到 ID 为“注册”的按钮。这是我尝试过的代码,但它不起作用..

$(文档).ready(函数() {

 $('.tos').click(function(){
    var isChecked = $('.tos').is(':checked');
    if(isChecked)
      console.log("True");
      $('#register').removeAttr("disabled");
    else
      console.log("False");

  });

});

我在控制台中收到此错误,但我不知道这意味着什么。

Uncaught SyntaxError: Unexpected token else 

这是我要删除/添加禁用属性的按钮。

<button type="submit" id="register" name="register" class="btn btn-block btn-color btn-xxl" disabled>Create an account</button>

任何帮助,将不胜感激!

4

5 回答 5

1

不要忘记{...}

$('.tos').click(function(){
    var isChecked = $('.tos').is(':checked');
    if(isChecked){
      console.log("True");
      $('#register').removeAttr("disabled");
    } else {
      console.log("False");
    }
  });
于 2014-01-26T22:10:54.370 回答
1

第一个 if 身体周围没有大括号。应该:

如果(已检查){
      console.log("真");
      $('#register').removeAttr("disabled");
}
    别的 {
      console.log("假");
}

从技术上讲,第二组大括号是可选的,但值得使用它们

于 2014-01-26T22:11:01.653 回答
1

未捕获的 SyntaxError:意外的标记 else

这是因为您没有{}在 if 语句中使用语法。不使用它们很好,但只有当你有一行要执行时。在这种情况下,您的 else 是第二行,并且打破了“只有一行没有大括号”的规则。

使用大括号:

if(isChecked) {
      console.log("True");
      $('#register').removeAttr("disabled");
} else
     console.log("False");
于 2014-01-26T22:11:23.110 回答
1
if(isChecked)
  console.log("True");
  $('#register').removeAttr("disabled");
else
  console.log("False");

那是什么?


if(isChecked){
  console.log("True");
  $('#register').removeAttr("disabled");
}else{
  console.log("False");
}

现在这就是您正确执行此操作的方法;)

于 2014-01-26T22:11:25.267 回答
1

对于if else语句,您可以使用以下两种语法之一:

//either....
if (condition)
    one_action();
else
    one_other_action();
//or....
if (condition) {
    one_action()
    more_actions()
} else {
    one_other_action();
    and_some_more();
}

因此,仅当块包含单个操作时,您才可以省略在{}条件为真时执行的操作块周围。由于您正在执行 console.logjQuery 函数,因此语句被中断,JavaScript 不再识别您在其中。正因为如此,它不会看到未来。要完成这项工作,只需像其他答案所示那样简单地把它放在一边。if elseelse{}

于 2014-01-26T22:13:57.733 回答