0

这是应该发生的事情:

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

4 回答 4

4
if (cancel = false) {

应该

if (cancel == false) {

cancel = false是赋值并且总是错误的。

于 2012-06-22T00:00:23.227 回答
3

不是

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

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

或更好:

if (cancel === true) {...
if (cancel === false) {...
于 2012-06-22T00:00:18.027 回答
1

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

这就是你所拥有的...

if (cancel = true) {

这就是它的样子

if (cancel == true) {

尽管您可以轻松地省略语句的右侧

if(cancel){
于 2012-06-22T00:02:05.837 回答
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>
于 2012-06-22T07:44:05.320 回答