首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按钮在表单标签中的单击不起作用

按钮在表单标签中的单击不起作用
EN

Stack Overflow用户
提问于 2017-06-22 15:29:37
回答 1查看 112关注 0票数 0

体标记

代码语言:javascript
复制
<div id="stage1">
    <form id="form1" method="post">
        <button id="sm1" type="submit" class="button" onclick="Result(msg);"><span>GO – SM1</span></button>
        <div id="sm2">GO – SM2</div>
    </form>
    <button id="sm3"type="submit" class="button" style="vertical-align:middle"> GO – SM3</button>
</div>
<div id="stage2" hidden="">
    HELLO WORLD
</div>

脚本标记

代码语言:javascript
复制
<script> 
    function sleep (time) {
        return new Promise((resolve) => setTimeout(resolve, time));
    }    
    $(document).ready(function(){
        $("#sm1").click(function(){
            $("#stage1").fadeOut(600);
            sleep(700).then(() => {
                $("#stage2").fadeIn(600);
            });
        });
    });   
    $(document).ready(function(){
        $("#sm2").click(function(){
            $("#stage1").fadeOut(600);
            sleep(700).then(() => {
                $("#stage2").fadeIn(600);
            });
        });
    });   
    $(document).ready(function(){
        $("#sm3").click(function(){
            $("#stage1").fadeOut(600);
            sleep(700).then(() => {
                $("#stage2").fadeIn(600);
            });
        });
    });   
</script>

问题

当我点击GO - SM1按钮时,什么都不会发生。

但是,当我点击DIV标签GO - SM2区域时,stage1就消失了,stage2出现了。

此外,我还点击了另一个按钮外的形式标签GO - SM3,stage1消失,stage2也出现。

How

单击GO - SM1按钮,stage1消失,stage2出现,就像我单击GO - SM2和GO - SM3一样。

EN

回答 1

Stack Overflow用户

发布于 2017-06-22 15:35:42

确定第一步,移除按一下“更改类型”按钮不提交。

代码语言:javascript
复制
<div id="stage1">
    <form id="form1" method="post">
        <button id="sm1" type="button" class="button"><span>GO – SM1</span></button>
        <div id="sm2">GO – SM2</div>
    </form>
    <button id="sm3"type="button" class="button" style="vertical-align:middle"> GO – SM3</button>
</div>
<div id="stage2" hidden="">
    HELLO WORLD
</div>

第二步把这件事弄清楚一点

代码语言:javascript
复制
<script> 
    function sleep (time) {
        return new Promise((resolve) => setTimeout(resolve, time));
    }    
    $(document).ready(function(){
        $("#sm1").click(function(){
            $("#stage1").fadeOut(600);
            sleep(700).then(() => {
                $("#stage2").fadeIn(600);
            });
        });

        $("#sm2").click(function(){
            $("#stage1").fadeOut(600);
            sleep(700).then(() => {
                $("#stage2").fadeIn(600);
            });
        });

        $("#sm3").click(function(){
            $("#stage1").fadeOut(600);
            sleep(700).then(() => {
                $("#stage2").fadeIn(600);
            });
        });

    });   

</script>

那会有帮助的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44703684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档