javascript - 使用jquery单击按钮上的slidetoggle div容器

标签 javascript jquery html css

脚本语言:Jquery

我正在尝试使用 Jquery 切换 div 容器,但它没有响应。我想在单击“注册”按钮时切换容器。这是我到目前为止尝试过的代码,

<html>
    <head>
        <style>
            #Submit:hover{
                background: linear-gradient(#36caf0 5%, #22abe9 100%);
            }
            #container {
                width: 960px;
                height: 610px;
                margin:50px auto;
                font-family: 'Droid Serif', serif;
                position:relative;
                background: #36caf0;
            }}
        </style>
    </head>
    <body>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
        <input type = "button" id = "register" value ="Register"></input><br><br>
        <div id = "mydiv" >
            <div id = "container">
                Name : <input type ="text" id = "name" value = ""></input><br><br>
                Email : <input type ="text" id = "email" value = ""></input><br><br>
                Mobile : <input type ="text" value = "" id = "mobile"></input><br><br>
                Password : <input type ="Password" value = "" id = "password"></input><br><br>
                Confirm password : <input type ="Password" value = "" id = "cpassword"></input><br><br>
                <input type ="button" id = "Submit" value = "Submit"></input><br><br>
            </div>
            <script>    
                $(document).ready(function(){
                    $("#mydiv").ready(function(){
                        $("#register").click(function(){
                            $("#container").slideToggle("slow",function(){

                            });
                            $("#Submit").click(function(){
                                var regexemail = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
                                //return regex.test(email);
                                var name = $("#name").val();
                                var email = $("#email").val();
                                var mobile = $("#mobile").val();
                                var password = $("#password").val();
                                var cpassword = $("#cpassword").val();
                                var regexMobile  = /^([0-9])+$/;
                                if (name == '' || email == '' || mobile == '' || password == '' || cpassword == '') {
                                    alert("Please fill all fields...!!!!!!");
                                } else if ((password.length) < 8) {
                                    alert("Password should atleast 8 character in length...!!!!!!");
                                } else if (!(password).match(cpassword)) {
                                    alert("Your passwords don't match. Try again?");
                                } else if(!regexemail.test(email)){
                                    alert('Enter correct email');
                                } else if(!regexMobile.test(mobile) && mobile.length>10){
                                    alert('Enter correct mobile number');
                                }
                                alert(name);
                            })
                        });
                    });    
                </script>
            </body>
        </html>

有什么建议吗?

最佳答案

你有一个语法错误,一个未闭合的$(document).ready(...,还有$("#mydiv").ready(function(){ 不正确,另一个问题是在注册点击处理程序中注册 submit 点击句柄。这可能会导致注册多个点击处理程序

$(document).ready(function () {
    $("#register").click(function () {
        $("#container").slideToggle("slow", function () {});
    });
    $("#Submit").click(function () {
        var regexemail = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        //return regex.test(email);
        var name = $("#name").val();
        var email = $("#email").val();
        var mobile = $("#mobile").val();
        var password = $("#password").val();
        var cpassword = $("#cpassword").val();
        var regexMobile = /^([0-9])+$/;
        if (name == '' || email == '' || mobile == '' || password == '' || cpassword == '') {
            alert("Please fill all fields...!!!!!!");
        } else if ((password.length) < 8) {
            alert("Password should atleast 8 character in length...!!!!!!");
        } else if (!(password).match(cpassword)) {
            alert("Your passwords don't match. Try again?");
        } else if (!regexemail.test(email)) {
            alert('Enter correct email');
        } else if (!regexMobile.test(mobile) && mobile.length > 10) {
            alert('Enter correct mobile number');
        }

        alert(name);
    })

});

演示:Fiddle

关于javascript - 使用jquery单击按钮上的slidetoggle div容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28924105/

相关文章:

javascript - 如何反转无序列表中列表项的顺序

javascript - 更新 Div 中的文本的问题

javascript - 如何动态显示 float 文本区域?

html - 如何更改 IOS 的文本链接颜色

python - Tornado 可以直接从字符串返回 HTML 吗?

html - Bootstrap 4 : can't vertical align middle text

javascript - Chrome 网上商店服务器拒绝带有 "Error : The manifest must define a version."的扩展

javascript - 这是做什么的?我可以用普通 JavaScript 实现同样的效果吗?

javascript - 使用 Internet Explorer 时出现 js 错误 "expected identifier"

jquery - 为什么在动画出现之前屏幕会变白?