Javascript 将var从true切换为false

Javascript 将var从true切换为false,javascript,jquery,html,Javascript,Jquery,Html,下面是应该发生的事情: 单击按钮时,表单的提交被禁用。然后运行文本交换。文本交换完成后,cancel的var应切换为false,然后提交表单 然而,当var cancel未能切换到false时,问题就会出现。我不知道为什么不会 <script type="text/javascript"> var cancel = true; $("#btn-submit").click(function(){ if (cancel = true) { $('form').on('su

下面是应该发生的事情:

单击按钮时,表单的提交被禁用。然后运行文本交换。文本交换完成后,cancel的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>

var cancel=true;
$(“#btn提交”)。单击(函数(){
如果(取消=真){
$('form')。在('submit',函数(ev)上{
ev.preventDefault();
表格=$(“.submit form”);
fp=$(“#免费计划员”);
fp.衰减(350,功能(){
fp.text('检查您的电子邮件!');
});
fp.fadeIn(350,函数(){
var cancel=false;
});
});
}
}); 
如果(取消=假){
表单提交();
}
不是

但是

或者更好:

if (cancel === true) {...
if (cancel === false) {...
应该是

if (cancel == false) {

cancel=false
是赋值,并且始终为false。

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

这就是你所拥有的

if (cancel = true) {
这就是它的样子

if (cancel == true) {
虽然你可以很容易地省略语句的右边

if(cancel){

var cancel=true;
$(“#btn提交”)。单击(函数(){
如果(取消){
$('form')。在('submit',函数(ev)上{
ev.preventDefault();
表格=$(“.submit form”);
fp=$(“#免费计划员”);
fp.衰减(350,功能(){
fp.text('检查您的电子邮件!');
});
fp.fadeIn(350,函数(){
var cancel=false;
});
});
}
}); 
如果(!取消){
表单提交();
}

我相信你的意思是
cancel=false
总是
false
if (cancel = true) {
if (cancel == true) {
if(cancel){
<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>