pb webfrom采用js验证用户的合法性

来源:互联网 发布:帝国cms添加采集关键词 编辑:程序博客网 时间:2024/06/05 07:56

        pbwebfrom 由于只有数据窗口才能使用JS,所以在设计用户登录的时候,不管是采用single line eidt(sle)单行编辑框 来设计用户登录界面,还是采用数据窗口来设计用户登录界面,我们都希望能够采用JS脚本来进行提示。这样就不会产生太多的回调。所以在设计用户登录界面的时候 在提交的时候我们可以将 提交的按钮 放置到数据窗口中,这样我们就可以方便的来使用js进行验证用户登录了。

如图:

在登录的时候都是采用数据窗口来放置登录按钮。

说明:

  1  single line edit方式进行登录设计

在OPEN窗口的时候 将用户信息全部放置到一个隐藏的数据窗口中。在数据窗口中设计登录,取消按钮的时候,多增加一个字段,用来存放用户的合法性,我这里是采用的是判断记录行数,为0 不合法,大于0合法。用户的判断放置到数据窗口的CLICKED事件中,对隐藏数据窗口进行过滤,同时对登录中多增加的字段进行赋值。

JS脚本如下:

function clicked_dw_3(Sender, rownumber, objectname) {    if (objectname = "p_1") {        //采用JS来获取登陆用户的用户名,密码        var username = document.getElementById("WW_0_C_sle_1").value;        var password = document.getElementById("WW_0_C_sle_2").value;        if (username == null || username == "" || password == null || password == "") {            alert("用户名,密码不能为空,请重新输入");            if (username == null || username == "") {                //设置用户名录入框获取焦点                var setfocus = document.getElementById("WW_0_C_sle_1")                setfocus.focus();            } else {                //设置密码录入框获取焦点                var setfocus = document.getElementById("WW_0_C_sle_2")                setfocus.focus();            }        } else {            //调用PBWEBFROM中的CALLBACK函数来进行回调验证用户是否合法            PBDataWindow_Clicked(Sender, rownumber, objectname);            //暂停 1秒 执行,目的是等待AJAX返回(CALLback执行完成)                        window.setTimeout(b,'1000');                        function b(){                                var count = document.getElementsByName("user_0")[0].value;                if(count!="1"){                                        alert("用户名,密码错误");                                    }                            }        }    }


2:数据窗口设计登录界面

设计方法同采用Single Line Edit一致,不同的是在获取用户名,密码的时候,采用数据窗口方式可以很好的调用PBWEBFROM中已定义好的JS函数。

js脚本如下:

function clicked_dw_1(Sender, rownumber, objectname) {    if (objectname == "p_1") {//采用pbwebfrom中的JS脚本函数来获取数据窗口中的登陆用户和密码;        var username = Sender.GetItem(rownumber, "username");        var password = Sender.GetItem(rownumber, "password");        if (username == null || password == null) {            alert("用户名,密码不能为空,请输入!");        } else {            PBDataWindow_Clicked(Sender, rownumber, objectname);            window.setTimeout(b, "1000")            function b() {                var test = document.getElementsByName("a_0")[0].value;                alert(test)            }        }    }}


 

在最后验证的时候都使用了 JS的延时函数 SetTimeout目的是等待AJAX的返回。由于PB自带JS脚本在采用AJAX的时候没有返回值。所以只能采用延时的方式来进行最后一步的验证。希望有更多的PBWEBFROM帮助资料。

 

 

 

 

 

 

原创粉丝点击