使用TopTips

TopTips用于在页面顶端临时显示信息,并且会在数秒后自动消失。

一个例子

假定你设计了一个用户登录页面,如果用户单击确定按钮之前,没有输入用户名和密码,就在顶部显示一个提示信息,2秒后自动消失:

这个例子对于iOS用户比较有意义,因为required属性对于iOS设备无效。

知识准备

用户单击确定按钮提交表单的时候,会触发表单的onsubmit事件,这个事件如果返回false,将终止提交表单。
例如下面的定义表单的代码,表示提交表单前,先执行valid函数:


wb
.AddForm("","form1","logon.htm").Attribute = "onsubmit='return valid()'"

如果valid函数返回false,将终止提交表单。

设计步骤:

1、在"d:\web\lib"新建一个文本文件,文件名为"valid.js",文件内容为:

function valid(){
   var v1 = document.getElementById("xm").value;
   var v2 = document.getElementById("pw").value;
   if (v1 && v2){return true}
   show("toptip1",2000);
   return false;
}

2、HttpRequest事件代码:

Select Case e.Path
    Case "logon.htm"
        If e.PostValues.Count = 0 Then
            Dim wb As New WeUI
            wb.AddTopTips("","toptip1",
"
请输入姓名和密码!")
            wb.AddForm("","form1","logon.htm").Attribute = "onsubmit='return valid()'"
'
调用函数
            With wb.AddInputGroup("form1","ipg1","
用户登录")
                .AddInput("xm",
"
户名","text")
                .AddInput("pw",
"
密码","password")
            End With
            With wb.AddButtonGroup("form1","btg1",True)
                .Add("btn1",
"
确定", "submit")
            End With
            wb.AppendHTML("<script src='./lib/valid.js'></script>")
'
引入脚本文件
            e.WriteString(wb.Build)
        Else
            Dim sb As New StringBuilder
            sb.AppendLine("<meta name='viewport' content='width=device-width,initial-scale=1,user-scalable=0'>")
            For Each key As String In e.PostValues.Keys
                sb.AppendLine(key & ":" & e.PostValues(key) & "</br>")
            Next
            e.WriteString(sb.ToString)
       
End If
End
Select

AddTopTips

AddTopTips用于增加TopTips,语法:

AddTopTips(ParentId, ID, Text)

ParentID 父容器的ID,如果是顶层对象,设置为""即可。
ID TopTips的ID。
Text TopTips文本内容

showTopTips

前面的例子,我们用show方法显示TopTips,如果显示内容是变化的,可以改用showTopTips方法。
showTopTips是是我们在文件"weui.me.js"定义的一个函数,专门用于显示Toptips,而且可以动态指定显示内容,语法:

showTopTips(id,text,msec)

id Toptips的ID
text 指定要显示的内容
msec 指定显示时长,整数型,范围为毫秒

TopTips的属性有:

msec 整数型,默认为0,用于设置TopTips初始显示的毫秒数。


本页地址:http://www.foxtable.com/mobilehelp/topics/0083.htm