很快点击会导致脚本故障

时间:2011-12-21 11:26:59

标签: javascript jquery

我在这里制作了一个表单,而textarea仍在扩展,我立即点击提交按钮:

  • textarea并不隐藏,而是返回并动画制作 height:46px

  • 如果我再次点击提交按钮:`(无刷新)

    • 加载图片加载。
    • textarea,提交按钮并加载图片隐藏。
    • 未显示ajax返回的数据

代码在语法上是正确的,我怎么能解决这个问题?

Jquery的:

$('.btn').hide();
$('.submitline').submit(function(){
    var $content = $('textarea').val();
    $('.btn').fadeOut('fast',function(){
        $('textarea').fadeOut('fast');
        $('.submitbusy').fadeIn('fast');
    });
    $.ajax({
        type: 'POST',
        dataType: 'json',
        url: '/submit',
        timeout: 15000,
        data: {
            'content': $content,
            'token': fuel_csrf_token()
        },
        success: function(data,textStatus,jqXHR){
            $('.submitbusy').fadeOut('fast',function(){
                $('.submitstatus').text(data).fadeIn('fast',function(){
                    $('.submitstatus').delay(2000).fadeOut('fast',function(){
                        $('textarea').val('Submit Another?').fadeIn();
                    });
                });
            });
        },
        error: function(){
            alert('fail');
        }
    });
    return false;
});
$('textarea').focus(function(){
    $('.btn').fadeIn('fast');
    $(this).val('').animate({"height":"100px"});
    $(this).focusout(function(){
        $(this).animate({"height":"46px"});
    });
});

HTML:

<form class="submitline" method="post">        
    <label>Message:</label><input class="btn" name="" value="Submit" type="submit" id="form_" />
    <textarea class="sidesub" name="" id="form_"></textarea>   
      <img class="submitbusy" src="http://i.imgur.com/GaSgz.gif" alt="" />    
</form>
<p class="submitstatus"></p>

2 个答案:

答案 0 :(得分:1)

你的代码周围有这个吗?

$(document).ready(function() {
   // Your code...
}

<强>更新

尝试在动画前移动$.ajax({

答案 1 :(得分:0)

禁用提交按钮并添加一个激活它的脚本(放在HTML文件的最后一个位置)。