将var从true切换为false

时间:2012-06-21 23:58:47

标签: javascript jquery html

这是应该发生的事情:

单击按钮时,表单的提交被禁用。然后文本交换运行。完成文本交换后,取消的var应切换为false,然后提交表单。

然而,当var cancel无法切换为false时会出现问题。我不确定为什么不会。

<script type="text/javascript">
var cancel = true;

$("#btn-submit").click(function(){
  if (cancel = true) {
    $('form').on('submit', function(ev) {
      ev.preventDefault();
      form = $(".submit-form");
      fp = $('#free-planner');
      fp.fadeOut(350, function () {
        fp.text('Check your email!');
      });
      fp.fadeIn(350, function() { 
        var cancel = false; 
      });
    });
  }
}); 
if (cancel = false) {
  form.submit();
}
</script>

4 个答案:

答案 0 :(得分:4)

if (cancel = false) {

应该是

if (cancel == false) {

cancel = false是作业,总是错误的。

答案 1 :(得分:3)

if (cancel = true) {...
if (cancel = false) {...

if (cancel == true) {...
if (cancel == false) {...

或更好:

if (cancel === true) {...
if (cancel === false) {...

答案 2 :(得分:1)

您应该在if条件语句中使用比较而不是赋值。

这就是你所拥有的......

if (cancel = true) {

这就是它应该是什么样子

if (cancel == true) {

虽然您可以轻松省略声明的右侧

if(cancel){

答案 3 :(得分:0)

<script type="text/javascript">
var cancel = true;

$("#btn-submit").click(function(){
  if (cancel) {
    $('form').on('submit', function(ev) {
      ev.preventDefault();
      form = $(".submit-form");
      fp = $('#free-planner');
      fp.fadeOut(350, function () {
        fp.text('Check your email!');
      });
      fp.fadeIn(350, function() { 
        var cancel = false; 
      });
    });
  }
}); 
if (!cancel) {
  form.submit();
}
</script>