ASP开发的WAP格式简易邮件系统实例(4)
来源:IT168 发布时间:2008-06-10 17:00:00
2、do元素
Do是WML语言中最有有价值的元素之一,它给用户提供一种在当前Card上进行"动作"的通用方法。
属性列表:
*type属性:告诉浏览器动作的意图。
WML总共声明了9个类型的动作,最常用的动作类型是"accept"和"option"。
1、accept,接受、确认
2、prev,返回上一个历史堆栈中的URL
3、help,请求帮助
4、reset,清除或者重置状态
5、options,根据当前页面的功能设置选项。
6、delete,删除选择条目
7、unknow,相当于空白字串
8、vnd.*。vnd.*及其它不同大小写组合[Vv][Nn][Dd].*。这种类型定义的都是vnd.cotype,用于激活供应商或用户浏览器自定义的某个特定功能,其中co为公司(company)名的缩写。
9、X-*与X-*。扩展类型,目前WML中还没有使用。
*label属性:设置按钮标题,显示在浏览器定义好的屏幕位置,不同浏览器地显示位置不同。如果不设置标题,按钮会按照浏览器的缺省格式显示,不同浏览器的缺省格式不同。
* name属性:按钮名称,可以用Card级的动作覆盖template上的同名动作,重新赋予那些动作新的任务。
*optional属性:来定义一个按钮是否显示,设置为True时会被浏览器忽略。
<do type="accept" label="发送" optional="false">
{Content}
</do>
3、go元素
用来指示浏览器显示指定的URL,包括DECK的第一个CARD或者指定的CARD。语法如下:
<go href="url" sendreferer="false|true" method="get|post" accept-charset="charset">
<postfield name="name" value="value"/>
<setvar name="name" value="value"/>
</go>
其中href属性为必选,其他为可选。
*sendreferer属性:是否传递当前页的URL,默认值为false。
*method属性:和HTML中的表单FORM的method属性一样,指定表单是以get的方式还是post的方式递交,默认的值为get,但如果未指定method但<go></go>间存在<postfield>,手机自动以post方式传递。
*accept-charset 属性:可覆盖在HTTP头里指定的字符集,可以写多个字符集,如accept-charset="UTF-8,US-ASCII, ISO-8859-1"。
<postfield name="name" value="value"/>可以看作是HTML表单FORM中的<INPUT TYPE="HIDDEN" NAME="变量名" VALUE="值">,通过它可以向指定的URL传递以“变量名/值”形式的数据。name和value属性都是必选的。注意只有这里的变量是用来递交给CGI程序的。
除了<postfield>,还可以在<go>和</go>间加入一句或者多句<setvar name="name" value="value"/>,该语句的意思是,当触发某一事件时,给变量赋值。
示例:
<go href="main.asp" method="post" accept-charset="utf-8">
<postfield name="user" value="$(user)"/>
<postfield name="pwd" value="$(pwd)"/></go>
</do>
邮件登陆界面源码: Index.asp
<% @LANGUAGE="VBSCRIPT" CODEPAGE="65001" %>
<%Response.ContentType = "text/vnd.wap.wml; charset=UTF-8"%>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card title="邮箱登陆">
<p align="center">
Welcome To Sohu-WAP-Mail</p>
<p>
用户名:
<input type="text" title="用户名" name="user" maxlength="30"/>
<br/>密 码:
<input type="password" title="密码" name="pwd" maxlength="30"/><br/>
<do type="accept" label="发送" optional="false">
<go href="main.asp" method="post" accept-charset="utf-8">
<postfield name="user" value="$(user)"/>
<postfield name="pwd" value="$(pwd)"/></go>
</do>
</p>
</card>
</wml>


猜你喜欢
- 首先画出流程图,流程图与现实代码有出入,因为刚开始画流程图的时候,有些东西没考虑进去,后来写着写着就慢慢能想起来并实现了。另有一点经验推荐给
- 今天试着用python获取金山词霸的翻译功能,链接在这里:ICIBA传送门打开之后,界面是这样的,还是比较干净的。按F12,打开调试工具,选
- 一.图像金字塔原理上一篇文章讲解的图像采样处理可以降低图像的大小,本文将补充图像金字塔知识,了解专门用于图像向上采样和向下采样的pyrUp(
- 下面看下python调用函数加括号和不加括号的区别,具体代码如下所示; def bracket(data):return dat
- 1.Pytorch中的LSTM中输入输出参数nn.lstm是继承nn.RNNBase,初始化的定义如下:class RNNBase(Modu
- 本文代码是使用python抓取京东小米8手机的配置信息首先找到小米8商品的链接:https://item.jd.com/7437788.ht
- 想要查看每次训练模型后的 loss 值变化需要如下操作loss_value= [ ]self.history = model.fit(sta
- 本文只有代码,介绍了有关GUI界面的学生信息管理系统的实现。已经过调试没有很大问题。如有错误,还请批评指正。1.导入tkinter模块imp
- 在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。但是,从前面Stude
- 本文实例讲述了Django基于ORM操作数据库的方法。分享给大家供大家参考,具体如下:1、配置数据库vim settings #HelloW
- 本文实例讲述了Python实现读取及写入csv文件的方法。分享给大家供大家参考,具体如下:新建csvData.csv文件,数据如下:具体代码
- 目录解决MySQL主从数据库没有同步的两种方法一、不同步情况二、解决方案1.先进入主库,进行锁表,防止数据写入2.进行数据备份3.查看mas
- 2005转到2000的步骤 1. 生成for 2000版本的数据库脚本 2005 的manger s
- 原文地址:30 Days of Mootools 1.2 Tutorials - Day 20 - A Few Mootools Tabs项
- 本文实例讲述了php实现的支持断点续传的文件下载类及其用法,是非常实用的技巧。分享给大家供大家参考。具体方法如下:通常来说,php支持断点续
- 访问数组元素数组索引等同于访问数组元素。可以通过引用其索引号来访问数组元素。NumPy 数组中的索引以 0 开头,这意味着第一个元素的索引为
- 前言replace into平时在开发中很少用到,这次是因为在做一个生成分布式ID的开源项目,调研雅虎推出的一个基于数据库生成唯一id生成方
- SocketServer创建一个网络服务框架。它定义了类来处理TCP,UDP, UNIX streams 和UNIX datagrams上的
- 前言通常我们需要编写好的错误处理方式,在了避免某些程序员滥用异常,于是Go这里直接把异常这一块给砍掉了,最终还是通过返回值来判断程序的异常情
- 思考一个问题:怎么实现在第一次检索的基础上进行二次检索?通常,我们的做法是第一次检索时保存检索条件,在第二次行检索时组合两次检索条件对数据库