使用jQuery单击表单提交后显示加载gif

时间:2014-11-19 20:25:45

标签: javascript jquery forms gif

我试图在提交表单后简单地显示一个加载gif。我的代码无法正常显示加载gif。您会看到我的gif图像设置为visibility: hidden

<script src="js/jquery-1.11.1.min.js"></script>

<div class="" style="width: 480px; margin: 0 auto; margin-top: 20px;" id="form_wrapper">
    <img src="img/loader.gif" id="gif" style="display: block; margin: 0 auto; width: 100px; visibility: hidden;">
    <div class="fade" id="form">
        <form action="process_login.php" method="POST" name="simplelogin" id="login_form"><br />
            <label for="username">&nbsp; Username:</label>
            <input type="username" name="username" id="username" size="30" required><br><br>
            <label for="password">&nbsp; Password:</label>
            <input type="password" name="password" id="password" size="30" required><br><br>
            <input class="load_button" type="submit" name="submit" id="submit" value="Submit" placeholder="Submit">
        </form>
    </div>
</div>
<div class="fifty"></div>

<script type="text/javascript">
    $('.load_button').submit(function() {
        $('#gif').show(); 
        return true;
    });
</script>

4 个答案:

答案 0 :(得分:24)

show()方法仅影响display CSS设置。如果要设置可见性,则需要直接执行此操作。此外,.load_button元素是一个按钮,不会引发submit事件。您需要将选择器更改为form以使其正常工作:

$('#login_form').submit(function() {
    $('#gif').css('visibility', 'visible');
});

另请注意,return true;在您的逻辑中是多余的,因此可以将其删除。

答案 1 :(得分:7)

按钮输入没有提交事件。请尝试将事件处理程序附加到表单:

<script type="text/javascript">
     $('#login_form').submit(function() {
       $('#gif').show(); 
       return true;
     });
 </script>

答案 2 :(得分:2)

仅使用JS的更好和干净的示例

参考:TheDeveloperBlog.com

第1步 - 创建java脚本并将其放在HTML页面中。

<script type="text/javascript">
    function ShowLoading(e) {
        var div = document.createElement('div');
        var img = document.createElement('img');
        img.src = 'loading_bar.GIF';
        div.innerHTML = "Loading...<br />";
        div.style.cssText = 'position: fixed; top: 5%; left: 40%; z-index: 5000; width: 422px; text-align: center; background: #EDDBB0; border: 1px solid #000';
        div.appendChild(img);
        document.body.appendChild(div);
        return true;
        // These 2 lines cancel form submission, so only use if needed.
        //window.event.cancelBubble = true;
        //e.stopPropagation();
    }
</script>
在表单中

调用submit事件上的java脚本函数。

<form runat="server"  onsubmit="ShowLoading()">
</form>

提交表单后不久,它会显示加载图片。

答案 3 :(得分:0)

onclick功能怎么样:

    <form id="form">
    <input type="text" name="firstInput">
    <button type="button" name="namebutton" 
           onClick="$('#gif').css('visibility', 'visible');
                    $('#form').submit();">
    </form>

当然你可以把它放在一个函数中然后用onClick

触发它