提交后的动画

时间:2014-02-25 12:56:00

标签: javascript jquery html ajax submit

我有HTML提问和一个提交按钮:

    <Input type = "Submit" Name = "Submit6" VALUE = "Dalej >">

我使用jQuery来保护用户可以使用以下代码在提交按钮中单击两次的情况:

<script>
    $('form').submit(function(){
        $(this).find(':submit').attr('disabled','disabled');
    }); 
</script>

现在我想开发这部分脚本在加载过程中同时显示gif动画。我看到我的用户不知道为什么这个系统不起作用,他们试图点击下次提交,但它被禁用。

我有两个想法,我该如何解决它。一个是显示gif animatino(如ajax或其他不同的东西),然后用动画熄灭页面。首先会更容易,对我来说还可以。

你能给我一些提示吗?

3 个答案:

答案 0 :(得分:1)

假设您正在使用ajax请求将数据发布到服务器,

将图像添加到html页面

<img id='waiting' src="waiting.gif" style="display:none"/>

并改变这样的脚本,

<script>
    $('form').submit(function(){
        $(this).find(':submit').attr('disabled','disabled');
        $("#waiting").css("display","block");
        $.post("/url/to/post/data", function(){        
          $("#waiting").css("display","none");
        });
    }); 
</script>

答案 1 :(得分:0)

使用按钮代替sumit

$(document).ready(function(e) {
    $("form :button").click(function(){
        $(this).attr('disabled','disabled');
        $("html").fadeOut("1000",function(){ // fade animation
            $("form").submit();
        });
    })
});

答案 2 :(得分:0)

如果您使用的是Bootstrap,则有一种用于此类功能的组件,

http://getbootstrap.com/javascript/#buttons

从中获得启发我还创建了一个按钮,在启用或禁用类时切换类,并根据当前类,您可以在每个状态上显示不同的文本

<button class="btn-progressive">
    <span class="button-label">Log In</span> 
    <i class="icon-spinner icon-large icon-spin"></i>
</button>

并且可以使用css,

.btn-progressive .icon-spinner { display: none; }

.btn-progressive.progressing .icon-spinner { display: inline; }

.btn-progressive.progressing .button-label { display: none; }

因此,当切换按钮的启用状态时,我们也可以切换'proressing'类。

P.S。如果您对CSS3兼容性没有问题,则还可以对这些CSS规则使用disabled属性