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代入であり、常に 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 に答える