欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

路由器web向导页面实现

程序员文章站 2022-04-22 22:07:24
...

这一篇是网上比较好的实现方式,请在百度输入关键之搜索“基于Bootstrap实现的上一步下一步表单向导插件Wizard.js”

使用网上的scrollable.js这个插件bug比较多,不推荐使用

下面是我根据需求完成自己写的一份路由器向导页面

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <link rel="stylesheet" type="text/css" href="./guide.css"/>
    <script type="text/javascript" src="./jq.js"></script>
</head>
<body>
    <p id="main">
        <form action="#" method="post">
            <p id="wizard">
                <ul id="status">
                    <li id="netset" class="active">上网方式</li>                    
                    <li id="netset-ppoe" class="hide">PPOE</li>
                    <li id="netset-static" class="hide">静态IP</li>
                    <li id="netset-dynamic" class="hide">动态IP</li>
                    <li id="wireless">无线设置</li>
                    <li id="portal">Portal设置</li>
                    <li id="finish">完成</li>
                </ul>
                <p class="item">
                    <p id="item1" class="page">
                        
                         <h6>本向导提供三种上网方式的选择</h6>   
                        <em>
                            如果是其他上网方式,请点击菜单栏“网络->接口->wan”配置。
                        </em>
                        <p><input id="default" type=radio name="type" value="Auto" checked>路由器自动选择上网方式(默认)</p>
                        <p><input type=radio name="type" value="PPOE">PPOE(ADSL虚拟拨号)</p>
                        <p><input type=radio name="type" value="D">动态IP(自动从网络服务商获取IP地址)</p>
                        <p><input type=radio name="type" value="Static">静态IP(网络服务商提供的IP地址)</p>
                        <p class="btn_nav">
                            <input id="btn1" type="button" class="next right" value="下一步»" />
                        </p>
                    </p>

                    <p id="item1-ppoe" class="hide">
                        <em>请在下面的设置框中填入运营商提供的正确的宽带账号和密码。</em>
                        <p><label>上网账号:</label><input type="text" class="input" name="ppoe-user" /></p>
                        <p><label>上网密码:</label><input type="password" class="input" name="ppoe-passwd" /></p>
                        <p><label>重复密码:</label><input type="password" class="input" name="ppoe-repeat" /></p>
                        <p class="btn_nav">
                            <input id="btn2-1" type="button" class="prev" style="float:left" value="«上一步" />
                            <input id="btn2-2" type="button" class="next right" value="下一步»" />
                        </p>
                    </p>

                    <p id="item1-static" class="hide">
                        <em>请在下面的设置框中填入正确的IP地址、掩码、网关、DNS等信息。</em>
                        <p><label>IPV4地址:</label><input type="text" class="input" name="static-ip" /></p>
                        <p><label>掩码:</label><input type="text" class="input" name="static-mask" /></p>
                        <p><label>网关:</label><input type="text" class="input" name="static-gateway" /></p>
                        <p><label>DNS:</label><input type="text" class="input" name="static-dns" /></p>
                        <p class="btn_nav">
                            <input id="btn2-3" type="button" class="prev" style="float:left" value="«上一步" />
                            <input id="btn2-4" type="button" class="next right" value="下一步»" />
                        </p>
                    </p>

                    <p id="item1-dynamic" class="hide">
                        <em>下面是路由自动获取的IP地址。</em>
                        <p><label>IP地址:</label><input type="text" class="input" name="autoip" /></p>
                        <p class="btn_nav">
                            <input id="btn2-5" type="button" class="prev" style="float:left" value="«上一步" />
                            <input id="btn2-6" type="button" class="next right" value="下一步»" />
                        </p>
                    </p>

                    <p id="item2" class="hide">
                        <em>本向导页面设置路由器无线网络基本参数以及无线安全。</em>
                        <p><label>无线状态:
                            <select>
                                <option value="Enable">开启</option>
                                <option value="Disenable">关闭</option>     
                            </select>
                            </label>
                        </p>
                        <p><label>SSID:</label><input type="text" class="input" name="SSID" value="MT-12346"/></p>
                        <p><label>
                            信道:                          
                            <select name="ch">
                                <option value="ch1">1</option>
                                <option value="ch2">2</option>
                                <option value="ch3">3</option>
                                <option value="ch4">4</option>
                                <option value="ch5">5</option>
                                <option value="ch6">6</option>
                                <option value="ch7">7</option>
                                <option value="ch8">8</option>
                                <option value="ch9">9</option>
                                <option value="ch10">10</option>
                                <option value="ch11" selected="selected">11</option>
                            </select>
                                带宽:
                               <select name="bw">
                                   <option value="bw300">300M</option>
                                   <option value="bw150">150M</option>
                               </select>
                        </label></p>

                        <p><input type=radio name="wireless-security" value="close" checked/>关闭无线安全</p>
                        <p><input type=radio name="wireless-security" value="enable"/>WPA-PSL/WPA2-PSK</p>
                        <p><label>PSK密码:</label><input type="password" class="input" name="security-passwd"/></p>
                        <p class="btn_nav">
                            <input id="btn3-1" type="button" class="prev" style="float:left" value="«上一步" />
                            <input id="btn3-2" type="button" class="next right" value="下一步»" />
                        </p>
                    </p>

                    <p id="item3" class="hide">
                        <h6>受限制的网络连接,HTTP请求都重定向到指定的站点</h6>   
                        <em>本向向导页面设置无线强制认证。</em>
                        <p><label>开启Portal认证:<input type="checkbox" name="portal-enable" value="enable_portal" /></label></p>
                        <p><label>认证服务器地址:</label><input type="text" class="input" name="url" value="192.168.0.251"/></p>
                        <p><label>高级设置:<a href="http://192.168.0.251"><input type="button" class="" value="点击在线配置" name="inline" /></a></label></p>

                        <p class="btn_nav">
                            <input id="btn4-1" type="button" class="prev" style="float:left" value="«上一步" />
                            <input id="btn4-2" type="button" class="next right" value="下一步»" />
                        </p>
                    </p>

                    <p id="item4" class="hide">
                        <h6>
                            <em>恭喜您已经完成了配置。</em></h6>
                            <p>请点击“确定”按钮完成配置。</p>

                            <p class="btn_nav">
                                <input id="btn5-1" type="button" class="next left" value="上一步" />
                                <input id="btn5-2" type="button" class="next right" value="确 定" />
                            </p>
                    </p>
                </p>
            </p>
        </form>
    </p>
    <script type="text/javascript">
        $(document).ready(function () {
            //$(document).bind('keydown', HandleTabKey);
        });
        function HandleTabKey(evt) {
            if (evt.keyCode == 9) {
                if (evt.preventDefault) { evt.preventDefault(); }
                else { evt.returnValue = false; }
            }
        }
        $("#btn1").click(function () {
            var type = $('input:radio:checked').val();         
            switch (type) {
                case "PPOE":
                    $("#item1").removeClass("page").addClass("hide");
                    $("#item1-ppoe").removeClass("hide").addClass("page");                  
                    break;

                case "Static":
                    $("#item1").removeClass("page").addClass("hide");
                    $("#item1-static").removeClass("hide").addClass("page");
                    break;

                case "D":
                    $("#item1").removeClass("page").addClass("hide");
                    $("#item1-dynamic").removeClass("hide").addClass("page");
                    break;

                default:
                    //todo 自动判断是什么上网方式                   
                    break;
            }
            ClickRadio();
        });

        $("#btn2-2").click(function () {
            $("#item1-ppoe").removeClass("page").addClass("hide");
            $("#item2").removeClass("hide").addClass("page");

            $("#netset-ppoe").removeClass("active").addClass("");
            $("#wireless").removeClass("").addClass("active");
        });

        $("#btn2-4").click(function () {
            $("#item1-static").removeClass("page").addClass("hide");
            $("#item2").removeClass("hide").addClass("page");

            $("#netset-static").removeClass("active").addClass("");
            $("#wireless").removeClass("").addClass("active");
        });

        $("#btn2-6").click(function () {
            $("#item1-dynamic").removeClass("page").addClass("hide");
            $("#item2").removeClass("hide").addClass("page");

            $("#netset-dynamic").removeClass("active").addClass("");
            $("#wireless").removeClass("").addClass("active");
        });

        $("#btn2-1,#btn2-3,#btn2-5").click(function () {
            $("#item1-static").removeClass("page").addClass("hide");
            $("#item1-ppoe").removeClass("page").addClass("hide");
            $("#item1-dynamic").removeClass("page").addClass("hide");

            $("#item1").removeClass("hide").addClass("page");
        });

        $("#btn3-1").click(function () {
            $("#wireless").removeClass("active").addClass("");
            $("#item1-static").removeClass("page").addClass("hide");
            $("#item1-ppoe").removeClass("page").addClass("hide");
            $("#item1-dynamic").removeClass("page").addClass("hide");

            $("#item1").removeClass("hide").addClass("page");

            $("#netset").removeClass("hide").addClass("active");
            $("#netset-dynamic").removeClass("active").addClass("hide");
            $("#netset-static").removeClass("active").addClass("hide");
            $("#netset-ppoe").removeClass("active").addClass("hide");        

        });

        $("#btn3-2").click(function () {
            $("#item2").removeClass("page").addClass("hide");
            $("#item3").removeClass("hide").addClass("page");

            $("#wireless").removeClass("active").addClass("");
            $("#portal").removeClass("").addClass("active");
        });

        $("#btn4-1").click(function () {
            $("#item3").removeClass("page").addClass("hide");
            $("#item2").removeClass("hide").addClass("page");

            $("#portal").removeClass("active").addClass("");
            $("#wireless").removeClass("").addClass("active");
            console.log("4-1");
        });

        $("#btn4-2").click(function () {
            $("#item3").removeClass("page").addClass("hide");
            $("#item4").removeClass("hide").addClass("page");

            $("#portal").removeClass("active").addClass("");
            $("#finish").removeClass("").addClass("active");
        });
       
        $("#btn5-1").click(function () {          
            $("#finish").removeClass("active").addClass("");
            $("#portal").removeClass("").addClass("active");

            $("#item4").removeClass("page").addClass("hide");
            $("#item3").removeClass("hide").addClass("page");
            

        });

        $("#btn5-2").click(function () {
            var data = $("form").serialize()+"\n系统正在重启几分钟后生效";
            alert(data);
        });

        $("#item1 :radio").click(function () {
            ClickRadio();
        });
    
        function ClickRadio()
        {
            var type = $('input:radio:checked').val();
            switch (type) {
                case "PPOE":
                    $("#netset-ppoe").removeClass("hide").addClass("active");
                    $("#netset").removeClass("active").addClass("hide");
                    $("#netset-dynamic").removeClass("active").addClass("hide");
                    $("#netset-static").removeClass("active").addClass("hide");

                    break;
                case "Static":
                    $("#netset-static").removeClass("hide").addClass("active");
                    $("#netset").removeClass("active").addClass("hide");
                    $("#netset-dynamic").removeClass("active").addClass("hide");
                    $("#netset-ppoe").removeClass("active").addClass("hide");
                    break;
                case "D":
                    $("#netset-dynamic").removeClass("hide").addClass("active");
                    $("#netset").removeClass("active").addClass("hide");
                    $("#netset-static").removeClass("active").addClass("hide");
                    $("#netset-ppoe").removeClass("active").addClass("hide");
                    break;
                case "Auto":
                    $("#netset").removeClass("hide").addClass("active");
                    $("#netset-dynamic").removeClass("active").addClass("hide");
                    $("#netset-static").removeClass("active").addClass("hide");
                    $("#netset-ppoe").removeClass("active").addClass("hide");
                    break

                default:
                    $("#netset").removeClass("hide").addClass("active");
                    $("#netset-dynamic").removeClass("active").addClass("hide");
                    $("#netset-static").removeClass("active").addClass("hide");
                    $("#netset-ppoe").removeClass("active").addClass("hide");
                    break;
            }
        }
    </script>
</body>
</html>

CSS样式表

@charset "utf-8";
/*CSS DOCUMENT*/
html, body, p, span, h1, h2, h3, h4, h5, h6, p, pre, a, code, em, img, small, strong, sub, sup, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label {
margin:0; padding:0; border:0; outline:0; font-size:16px;vertical-align:baseline;}

a {
    color:#007bc4; 
    text-decoration:none;

}
a:hover{
    text-decoration:underline;

}
ol,ul{
    list-style:none;

}
table{
    border-collapse:collapse;border-spacing:0

}
body{
    height:100%;font:16px "Microsoft Yahei",Tahoma, Helvetica, Arial, Verdana, "\5b8b\4f53", sans-serif;
    color:#51555C;

}

img{
    border:none;

}

#head {
    width:56rem; 
    height:5.75rem;
    margin:0 auto;
}

#wizard {
    border:5px solid #eee;
    height:26rem;
    margin:20px auto;
    width:35.63rem;overflow:hidden;
    position:relative;
    -moz-border-radius:5px;
    -webkit-border-radius:5px;
    padding:0;
}
#wizard .right{float:right;}
#wizard #status{height:35px;background:#eee;padding-left:1.56rem!important; width:35.63rem;}

#status li{float:left;color:rgb(154,37,143);padding:10px 30px;}

#status li.active{
    background-color:rgb(133,129,216);
    font-weight:normal;
    -moz-border-radius:5px;
    -webkit-border-radius:5px;

}
.page{padding:1.25rem 1.875rem;width:31.25rem;float:left;height:25rem;}

.page em{
    border-bottom:1px dotted #ccc; 
    margin-bottom:20px; 
    padding-bottom:5px;       
    font-style:normal;
    font-size:0.8rem;

}

.btn_nav{
    height:36px; 
    line-height:36px;
    margin:20px auto;
}
.prev,.next{
    width:100px; 
    height:32px;
    line-height:32px; 
    background:url(images/btn_bg.gif) repeat-x bottom; 
    border:1px solid #d3d3d3; 
    cursor:pointer

}

.page p{
    line-height:16px;
    margin-top:0.5rem;
    font-size:0.8rem;
    
}
.page p label{
    display:block;
    font-size:0.8rem;
}

.input{
    width:240px;
    height:18px; 
    margin:10px auto;
    line-height:20px; 
    border:1px solid #d3d3d3;
    padding:2px
}

.hide {
    display:none;
}

以上就是路由器web向导页面实现的详细内容,更多请关注其它相关文章!