setTimeout不起作用

时间:2012-07-28 22:52:24

标签: javascript jquery settimeout

我的setTimeout似乎正在登录,但不适用于提交数据。 :

<script type="text/javascript" src="../scripts/jquery.js"></script>
<script type="text/javascript">

$.ajaxSetup({async:false});

function Validate_submit(form) {
    var Address1_input = form.address1.value;
    var Address2_input = form.address2.value;
    var City_input = form.city.value;
    var State_input = form.state.value;


    $.post('../scripts/submit_check.php', {address1php: Address1_input, address2php: Address2_input, cityphp: City_input, statephp: State_input}, 
    function(output) {
            $('#submit_msg').html(output).fadeIn(500);
            if (output == 'Submitting...') {
        var timeoutID = window.setTimeout(function () {location.reload();}, 1000);
            } else {
                $('#submit_msg').html('something went wrong').fadeIn(500);
            }
        }
        );

}

相同的代码在我的登录弹出窗口中起作用:

<script type="text/javascript" src="../scripts/jquery.js"></script>
<script type="text/javascript">
$.ajaxSetup({async:false}); 

function Validate_login(form) {
    var Email_input = form.email.value;
    var Password_input = form.password.value;
    var Rememberme_input = form.remember_me.checked;

    $.post('../scripts/login_check.php', { emailphp: Email_input, passwordphp: Password_input, rememberphp: Rememberme_input},
        function(output) {
            $('#login_msg').html(output).fadeIn(500);
            if (output == 'Logging in...') {

                var timeoutID = window.setTimeout(function () {location.reload();}, 1000);
            }
        }
        );  
}

当我单击提交表单中的提交按钮时,它会在一瞬间显示“正在提交...”,但不会显示整秒(例如在登录弹出窗口中)。有人能帮助我吗?

1 个答案:

答案 0 :(得分:2)

您可能需要取消实际的<form>提交。致电return false后,onsubmit处理程序中的Validate_submit