0

我有这个 jquery 代码

$(document).ready(function(){           

    $('#lform').submit(function(){
        $.post(
        'processor.php',
        $(this).serialize(),
        //here, where we're going to manage the output data from the login.php
        function(output){
            var ss = output;
            if (ss === "correct"){
                alert (ss);
            }else{
                $('body,html').animate({scrollTop: 20}, 800);
                $('#error').html(output);
                });
            }       
                return false;       
    });         

});

从上面的代码中可以看出,它只是将表单数据发布到processor.php然后处理来自它的响应。它首先将输出存储到 a 中var ss,然后检查输出是否等于“正确”。如果是,则警告“正确”,否则将响应输出到#error.

上面的代码可以正常工作,但是只要响应等于正确,就会出现问题,没有显示一个提示正确的警告框,而是将响应放在 #error 元素中

4

2 回答 2

1

您的范围大括号的顺序错误,甚至会破坏您的函数运行:

        }else{
            $('body,html').animate({scrollTop: 20}, 800);
            $('#error').html(output);
            });
        }

            return false;

应该:

        }else{
            $('body,html').animate({scrollTop: 20}, 800);
            $('#error').html(output);
        }
        return false;
    }
于 2013-07-24T23:12:35.390 回答
0
   }else{
            $('body,html').animate({scrollTop: 20}, 800);
            $('#error').html(output);
            });
        }

应该:

  }else{
            $('body,html').animate({scrollTop: 20}, 800);
            $('#error').html(output);
  }
  return false;
});

或类似的东西,我很确定 }); 在其他是错误的。

于 2013-07-24T23:07:10.907 回答