Java Web基础:第十一讲 基本表单元素

【Web前端笔记03】表单 目录 章节03 表单 一、Form表单 二、表单元素 1、表单 2、表单元素 三、HTML5 新增 type 类型 1、email 2、url 3、search 4、tel 5、color 6、number 7、range 8、date 9、month 10、year 四、HTML5 新增属性 1、autofocus属性 2、multiple属性 3、placeholder属性 4、required属性 五、实体字符 章节03 表单 一、Form表单... 阅读详情

 

什么是表单元素呢?在注册功能中,输入用户名、输入口令、输入生日、选择学历、选择地区、输入地址信息的输入框、下拉框、单选按钮都是表单元素。之所以能够显示成我们看到的样子是因为他们对应的是html 代码。要完成输入功能,需要使用HTML 语言提供的这些表单元素,下面介绍常用的表单元素。
在注册功能中,输入用户名和生日的输入框,就是单行文本框。需要输入少量信息的时候应该使用单行文本框。
基本语法格式如下:
<input type="text" name=" 输入信息的名字" value=" 输入信息的值">
其中,属性type 用于确定表单元素的类型,后面我们会看到很多表单元素的格式非常类似,值为“text ”表示这是一个单行文本框,属性name 的值表示要输入的信息的名字,属性value 的值表示这个文本框的值,通常不需要value 属性,它的值一般是让用户输入的。如果需要给这个输入框默认值,可以使用这个属性给定默认值。
在注册功能中,输入用户名的代码为:
<input type="text" name="username">
用户名对应的文本框的名字是username ,服务器在获取用户输入的信息的时候会使用这个名字。
在注册功能中,输入生日的代码为:
<input type="text" name="birthday" value="1988-1-1">
该文本框的名字是birthday ,并且使用value 指定它的值为“1988-1-1 ”,如果用户不修改这个值,它将作为用户生日的默认值。
请记住:<input type="text"> 表示单行文本框,name 用于指定元素的名字,value 可以指定默认值。
注意:name 属性的值不能与其它表单元素的值相同,也就是不能出现同名的表单元素。
在注册功能设置密码的时候使用两个密码框。通常在设置密码和身份验证的时候会使用密码框。密码框的特点是在输入信息之后,界面上并不显示用户输入的信息,而是显示“* ”号或者“. ”。但是用户提交给服务器的信息不是“* ”号或者“. ”。
密码框的基本格式如下:
<input type="password" name=" 输入信息的名字" value=" 输入信息的值">
这个格式与单行文本框非常类似,不同的是type 属性的值,这里type 属性的值为“password ”,说明这个表单元素是密码框,另外两个属性的作用与单行文本框完全相同。
请记住:密码框与单行本文框的区别是,密码框对应的type 的值为“password ”。
注意:只要是设置密码就应该让用户输入两遍密码。因为输入密码之后显示“* ”号,这样如果用户输入错误了,用户也不知道输入错误,以后使用就麻烦了。如果输入两遍则可以解决这个问题,因为只有两次输入了相同的错误内容才可能将错误密码设置成功,而出现两次相同的错误的概率非常低。
在注册功能中,用户选择学历使用的是单选按钮,并且是多个单选按钮,每个选项对应一个单选按钮,用户只能选择其中一个,这多个单选按钮的格式相同。如果用户要输入的信息只有少数几种可能,这时候应该使用单选按钮。
单选按钮的基本格式如下:
<input type="radio" name=" 输入信息的名字" value=" 输入信息的值"> 显示的信息
与单行本文框格式基本相同,type 属性的值为“radio ”,说明这个表单元素是单选按钮。name 仍然是元素的名字,value 属性的值是这个单选按钮的值。这个值不会显示给用户,用户能够看到的是标签后面的部分。
单选按钮通常不独立出现,每一种可能的选项就对应一个单选按钮,每个单选按钮对应一个不同的值,用户选择哪个单选按钮,哪个单选按钮的值就可以传递到服务器。
注册功能中,用户选择学历对应的代码如下:
<input type="radio" name="degree" value="1"> 专科
<input type="radio" name="degree" value="2" checked> 本科
<input type="radio" name="degree" value="3"> 硕士研究生
<input type="radio" name="degree" value="4"> 博士研究生
这里学历有4 个选项,所以有4 个单选按钮,且这4 个单选按钮的名字是相同的。用户会在4 种情况中选择一个,所以这4 个单选按钮的值不同,分别是1 、2 、3 和4 。用户看不到单选按钮的值,用户看到的是每个标签后的文字,专科、本科、硕士研究生、博士研究生等。如果用户选择专科,得到的值将是1 ,如果用户选择的是本科,得到的值将是2…
请记住:单选按钮的基本格式与输入框基本相同,不同的是type 对应的值为“radio ”。有多少个可能的选项就需要多少个单选按钮。如果需要使用默认值,使用checked 。
注意两点:
u       一组单选按钮的名字必须相同,但是值不同。
u       单选按钮的值与用户看到的在界面上显示的信息没有关系。
复选框与单选按钮非常类似,相同的地方:
n         一般都不单独出现,而是成组出现。
n         同一组复选框或者单选按钮的名字相同。
n         必须指定值。
n         选择哪一个选项,得到的是这个选项对应的值。
n         每个选项的值和显示给用户看的信息是独立的。
不同的地方:
n         单选按钮对应的type 属性的值是“radio ”,而复选框对应的type 属性的值是“checkbox ”。
n         单选按钮只能选择一个,而复选框能选择多个。
注册功能中没有使用到复选框,下面是一个复选框的例子,用于选择个人的爱好。因为个人的爱好可以是多个,所以允许多选,应该使用复选框。
<input type="checkbox" name="like" value="1"> 运动
<input type="checkbox" name="like" value="2"> 看电影
<input type="checkbox" name="like" value="3"> 听音乐
<input type="checkbox" name="like" value="4"> 读书
type 的值为checkbox ,说明这些元素是复选框。4 个复选框的名字都是like ,所以这是一组复选框。4 个复选框的值不同,分别是1 、2 、3 和4 。而用户看到的则是运动、看电影、听音乐和读书。
在注册功能中,地区的选择使用了下拉框,可以从地区中选择一个地区。在这个例子中,只允许选择一个,在有些情况下,下拉框可以进行多选。所以,从功能上来说,下拉框具有单选按钮和复选框两者的功能。
下拉框的基本格式:
<select name=" 下拉框的名字" [multiple] [size=n]>
   <option value=" 值1" [selected]> 值1</option>
   <option value=" 值2" [selected]> 值2</option>
   <option value=" 值3" [selected]> 值3</option>
   <option value=" 值4" [selected]> 值4</option>
   ...
   <option value=" 值n" [selected]> 值n</option>
</select>
从这个格式可以看出,下拉框与前面的几个表单元素的格式完全不同。下拉框有两部分组成:第一部分是下拉框本身;第二部分是多个下拉框选项。
下拉框本身的开始标志是<select name…> ,结束标志是</select> 。在开始标志中,name 表示下拉框的名字,是必须的,与前面介绍的其他元素的名字的作用相同。multiple 属性用于确定下拉框中的元素是否允许多选,如果允许多选,需要写这个属性,如果不允许多选,则不用写,默认是单选。size 属性用于确定下拉框的显示形式,如果size 等于1 ,采用下拉框的形式;如果size 大于1 ,采用具有滚动条的列表框的形式。默认情况下是下拉框的形式。
下拉框中的每个选项对应一个option 标签,开始标志是<option…> ,结束标志是</option> ,中间是显示给用户的选项。在开始标志中,可以使用value 指定这个选项的值,与单选按钮和复选框的用法类似。另外在开始标志中,可以使用selected 属性,如果使用这个属性,表示整个选项被选上了。如果想设定当前选项为默认选项,可以使用selected 属性。
注册功能中,地区选择所使用的下拉框的代码如下:
<select name=" 下拉框的名字">
   <option value=" 华东" selected> 华东</option>
   <option value=" 华南"> 华南</option>
   <option value=" 华北"> 华北</option>
   <option value=" 东北"> 东北</option>
   <option value=" 东南"> 东南</option>
   <option value=" 西南"> 西南</option>
   <option value=" 西北"> 西北</option>
   <option value=" 东北"> 东北</option>
   <option value=" 华中"> 华中</option>
</select>
这个下拉框只允许单选,并且是以下拉框的形式显示,默认选项是“华东”。
注意:下拉框选项中的值和显示给用户的值可以不相同。
文本域主要用于输入多行文字,如果输入的文字比较多的时候,可以采用文本域。
文本域的基本格式如下:
<textarea rows="8" name=" 名字" cols="40"> 默认值</textarea>
该标签由3 部分组成:包括开始标志<textarea…> ,标签的默认值,结束标志</textarea> 。在标签的开始标志中,name 属性的作用同样是指出表单元素的名字,使用rows 指定文本域的行数,使用cols 指定文本域的列数。
注册功能中,输入备注采用的就是文本框。代码如下:
<textarea rows="8" name="comment" cols="40"> 默认值</textarea>
注意:文本域不是通过value 属性赋值,而是把值写在开始标志和结束标志之间。
点击重置按钮可以把所有的输入信息取消,让输入界面恢复到最初的状态。在注册界面中,如果用户在输入过程中不想使用已经输入的信息了,可以把已经输入的信息全部删除。但是,如果点击重置按钮一下就可以完成这个任务。
重置按钮的基本格式如下:
<input type="reset" value=" 重置">
与单行文本框的语法非常相似,重置按钮的type 值为reset 。另外,在这个格式中没有看到name 属性,这里把name 属性省略了,因为这个表单元素比较特殊,特殊的地方在于它不是用于提交信息的,所以不用给出名字,系统会给一个默认名字。value 属性指出这个按钮上显示的内容。
注意:重置按钮并不是清空所有的信息,而是把所有的元素恢复到默认值。
只要涉及提交信息,都应该提供一个提交按钮,当点击提交按钮的时候,用户输入的信息将提交给服务器,意味着输入过程的结束。注册界面中也包含一个提交按钮。
提交按钮的基本格式如下:
<input type="submit" value=" 提交">
提交按钮与重置按钮的格式基本相同,并且提交按钮也比较特殊。提交按钮本身可以完成信息的提交,但是提交按钮本身的信息通常没有用,所以也不关心提交按钮的名字,value 的值是提交按钮上面显示的内容。
实例
注册界面。
       <table align="center">
          <tr>
              <td> 用户ID :</td>
              <td><input type="text" name="userid">6-8 位 </td>
          </tr>
          <tr>
              <td> 用户名:</td>
              <td><input type="text" name="username">2-10 位</td>
          </tr>
          <tr>
              <td> 口令:</td>
              <td><input type="password" name="userpass">6-8 位,不能与用户ID 相同</td>
          </tr>
          <tr>
              <td> 确认口令:</td>
              <td><input type="password" name="userpass2"></td>
          </tr>
          <tr>
              <td> 生日:</td>
              <td><input type="text" name="birthday"> 格式为:1988-1-1</td>
          </tr>
          <tr>
              <td> 学历:</td>
              <td>
                 <input type="radio" name="degree" value=" 专科"> 专科
                 <input type="radio" name="degree" value=" 本科" checked> 本科
                 <input type="radio" name="degree" value=" 硕士研究生"> 硕士研究生
                 <input type="radio" name="degree" value=" 博士研究生"> 博士研究生
                 <input type="radio" name="degree" value=" 其他"> 其他
              </td>         
          </tr>
          <tr>
              <td> 地区:</td>
              <td>
                         <select name="local">
                    <option value=" 华东"> 华东</option>
                    <option value=" 华南"> 华南</option>
                    <option value=" 华北"> 华北</option>
                    <option value=" 东北" selected> 东北</option>
                    <option value=" 东南"> 东南</option>
                    <option value=" 西南"> 西南</option>
                    <option value=" 西北"> 西北</option>
                    <option value=" 华中"> 华中</option>
                         </select>
              </td>
          </tr>
          <tr>
              <td> E-mail:</td>
              <td><input type="text" name="email"></td>
          </tr>
          <tr>
              <td> 地址:</td>
              <td><input type="text" name="address"></td>
          </tr>
          <tr>
              <td> 电话:</td>
              <td><input type="text" name="phone">
数字和连字符,例如88223322-123</td>
          </tr>
          <tr>
              <td> 备注:</td>
              <td> <textarea rows="8" name="comment" cols="40"></textarea></td>
          </tr>
          <tr>
              <td> <input type="reset" value=" 重置"></td>
              <td> <input type="submit" value=" 提交"></td>
          </tr>
       </table>
 
 
李绪成 优快云 Blog : http://blog.youkuaiyun.com/javaeeteacher
ava Web系列:Java Web 项目基础 Session在存储安全性要求较高的会话信息方面是必不可少的,Session当然绝对不是用来存储用户登录状态的,但类似验证码等敏感信息却必须存储在Session中。对于分布式Web应用自定义Session支持独立的状态服务器或集群是必须的。 阅读详情

相关推荐

Java Web-servlet技术-通过表单向servlet提交数据

通过表单向servlet提交数据 1.创建名为ComputeBill的servlet文件 2.重写init()和service() package myservlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletConfig; import javax....

Scarlett 2008

HTML表单类的标签——第11关:表单元素的综合案例(Web)

用户名:添加类.common; 昵称:添加类.common; 性别:name属性的值为sex,禁用保密; 男:<label>标签的for属性的值为male; 女:<label>标签的for属性的值为female; 保密:<label>标签的for属性的值为other; 教育程度:添加类.common,默认选中本科; 选项有:高中,中专,大专,本科,硕士,博士,其他; 婚姻状况:name属性的值为state,默认选中未婚; 未婚:<label>标签的for属性的值为single; 已婚:<l

惟愿一生无悔也无憾 3877

Interactive-form-v3:构建与Java交互的动态Web表单

JavaScript是一种轻量级的编程语言,广泛用于网页交互式功能开发。它是网页浏览器的内置脚本语言,能够操纵DOM(文档对象模型),从而实现动态交互效果。JavaScript由一系列对象组成,例如数组、日期、正则表达式等,它还包含了一系列内置函数,方便开发者调用。JavaScript的事件驱动特性,使其成为响应用户操作(如点击、输入、滚动等)的理想选择。当内置属性无法满足需求时,开发者可以通过JavaScript编写自定义验证逻辑来实现更复杂的验证需求。

weixin_29050829的博客 835

第11关:表单元素的综合案例

表单元素的综合案例

m0_64562382的博客 1677

html表单form元素+各种input元素+常用元素综合案例.

html表单form元素+各种input元素+常用元素综合案例.

[前沿技术] AMD FSR 1.0源码解析:EASU算法实现细节与优化策略

本文深入解析了AMD FSR 1.0技术的核心——EASU(边缘自适应空间升频)算法。通过剖析其源码,详细阐述了EASU如何利用12-tap采样窗口、基于Lanczos滤波器的多项式近似以及自适应的边缘检测机制,在无需AI模型的情况下实现高质量图像放大。文章重点揭示了其极致的GPU优化策略,包括寄存器利用、采样优化和避免动态分支,为理解高性能图形算法提供了绝佳范例。

docker7nomad的博客 541

表单元素的综合案例

目录任务描述相关知识编程要求测试说明源码 任务描述 本关任务:完成一个表单的创建任务。 这里标签要按照规定格式来写,因为有<div>标签,会自动换行,就不用<br>标签了。 属性的先后顺序为: type -- id -- class -- name -- value ,其他需要添加的属性最后写。 其他要求如下: 用户名:添加类.common; 昵称:添加类.common; 性别:name属性的值为sex,禁用保密; 男:<label>标签的for属性的值为male;

weixin_45784564的博客 3471

从法律文档到知识图谱

这里我们定义了两个 Pydantic 模型:Location 用于捕捉结构化的地址信息,包含可选的国家、州和地址字段;Party 用于表示合同参与方,包含必填的名称和可选的位置详情。字段描述通过告知 LLM 每个字段具体需要查找哪些信息,来辅助提取过程。"""包含结构化地址组件的位置信息。"""country: Optional[str] = Field(None, description="国家")

Anspire的博客 3030

HTML--表单类的标签

表单5.表单元素——checked属性任务描述相关知识代码文件6.表单元素——disabled 属性任务描述相关知识代码文件7.表单元素——label 标签任务描述相关知识代码文件8.表单元素——下拉列表任务描述相关知识代码文件9.表单元素——文本域任务描述相关知识代码文件10.表单元素——提交按钮任务描述相关知识代码文件11.表单元素的综合案例任务描述相关知识代码文件 5.表单元素——checked属性 任务描述 本关任务:创建一组单选框,name属性值为marry,默认选中未婚。 要求:对每一个选项使用

qq_45823118的博客 1万+

《跨界杂谈》华为印象(五):高度集权的矩阵式架构

高度集权的矩阵式架构 “高度集权的矩阵式架构”不是官方术语。是笔者的一位同事非常经典的总结。解释这个句话还是有点困难的,笔者入职华为三年也没彻底搞明白,在这里只能尝试性的解释一下。 矩阵 我们先看一下“矩阵”。华为有两套部门职能体系,华为内部术语,叫实线部门和虚线部门。由实线与虚线部门交叉构成矩阵。大部分(但不是所有)华为员工都由两个部门(两个领导)进行管理。对员工而言,所谓的实线部

《云计算架构技术与实践》 2996

2021英伟达暑期实习面经(芯片设计)

2021英伟达暑期实习面经(芯片设计前端/DFT) 准备了将近一个月,终于赶在三月的最后一天拿到了offer,暑期实习算是上岸了,后面还有阿里/华为等一些国内公司的面试,但既然拿到了nv的offer,后面的先就当积累面试经验吧~ 网上关于nv的实习or秋招面经很少,硬件岗的更少(约等于没有好吧)。之前准备面试的时候,在网上找了半天,好像就只在牛客网上见过一篇关于nv硬件岗的面经,幸好当时认真看了哈哈。所以既然幸运上岸了,想趁自己还记得,record一下,希望可以帮到有缘人呀~ 好了,废话不多说,开始正题。

Hadleysjtu的博客 1万+

JAVA WEB开发技术作业 个人基本信息表单

🌴 2022.3.13 作业 🌳 form表单-个人基本信息 文章目录HTML form表单-个人基本信息🚀 要求🚀 效果图🚀 知识总结 🚀 要求 使用html的form表单中的各个标签,完成在上一题目中“个人基本信息”部分的表单输入页面的设计 个人基本信息中至少包括以下内容: 姓名、性别、出生日期、所属省份、兴趣爱好、手机号码、个人简介等。大家可以根据各项信息的特点选择合适的表单元素,可以编写css使页面呈现美观的效果 注意: 可以参照网络上一些页面,表格中的内容

张时贰的博客 4171

OsgEarth实战:飞机模型动态轨迹与雷达扫描效果实现详解

本文详细介绍了如何使用OsgEarth实现飞机模型动态轨迹与雷达扫描效果。通过实战案例,讲解了模型加载、路径规划、动态轨迹绘制、飞行姿态计算以及雷达扫描效果的实现方法,并提供了性能优化技巧,帮助开发者高效完成三维可视化项目开发。

weixin_29214199的博客 304

Java Web 程序设计 第五章 JSP基本语法 5.2 JSP基本元素

5.2 JSP基本元素 1.核心知识点 2.学习任务1(循环)--输出10*10表格 利用JSP程序段输出下图所示的10x10表格。 print_table1.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOC...

m0_43443133的博客 5636

安卓app逆向破解脱壳教程

From:Hook 神器家族的 Frida 工具使用详解:https://blog.youkuaiyun.com/FlyPigYe/article/details/90258758 详解 Hook 框架 frida (信抢红包):https://www.freebuf.com/company-information/180480.html APP逆向神器之Frida【Android初级篇】:https://www.jianshu.com/p/2d755beb1c54 frida 官网文档:https://fr..

sinat_28371057的博客 2万+

HP SPP download

是一个全面的系统软件和固件更新解决方案,以单个ISO映像的形式提供。该解决方案使用智能更新管理器(SUM)作为部署工具。

极致,细节 9862

Java Web开发基础——表单数据与文件上传处理

在Web开发中,表单数据的处理和文件上传是常见的需求。尤其是在Java Web应用中,表单数据的提交和文件的上传都涉及到与服务器端的交互。合理的表单设计和文件上传处理不仅是Web应用实现数据交互的基础,也在文件存储、处理和安全方面起着关键作用。在这一节中,我们深入探讨了HTML表单的创建与处理、使用Servlet处理表单数据,以及如何实现文件上传与下载功能。文件上传和下载是Web应用中常见的需求,尤其是在需要处理用户上传文件或下载文件的场景下。请求,表单数据会附加在URL中,数据的获取通过。

好看资源网的博客 1369

YOLOv8优化:特征融合 | 金字塔稀疏 Transformer(PST)——一个轻量级、即插即用的模块 | 25年7月最新成果

将 PST 嵌入当前最先进的实时检测模型(YOLOv11-N/S/M)后,在 MS COCO 上的 mAP 分别提升 0.9%、0.5%、0.4%,而延迟增加极小。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 613

Java Web 表单开发

1.认识表单 1.1.表单的作用 是可以由用户输入并提交给服务器的一个图形界面 1.2定义表单 1.2.1表单性质 1.表单可以输入一些内容,输入功能由控件提供,叫做表单元素 2.表单要有提交按钮 3.单击提交按钮,表单元素中的内容会提交给服务器端 4.表单元素放在< form></ form> 1.2.2相关属性 用< form>中的action属性提交给其他页面 用request对象获取提交过来的值 1.2.3问题 < input type=“submit

qq_740785701的博客 4870

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

JAVA Web_表单代码入门&如何编写简单的表单

本文重点:看懂表单代码;创建一个HTML文件;知道HTML代码写在哪里;

2301_80682565的博客 863

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

web捆绑表单元素数据的获取的获取

捆绑表单元素,是指多个同名表单元素的值so

kluing的专栏 2101

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Java Web基础:第十二讲 form元素的使用

李绪成的一亩三分地 3993

Java Web:Servlet提交表单和用Java处理表单数据

文章目录目标/任务index.jsp 中的代码:web.xml中的代码.java文件中的代码 目标/任务 用在前端通过文本框获得数据,传到后台并处理 获得数据使用的是form表单 传送数据使用的是servlet 处理数据是靠Java index.jsp 中的代码: <form action="Servlet_MySql" method="get"> Name: <br> <label for="a"></label><input type

qq_36237858的博客 3069

Java Web快速入门之 jsp基本语法&表单提交方式

JSP基本语法,JSP表单提交方式

oyang的博客 2105

Java Web在Servlet中获取表单参数的常见方式

Dynamic web项目目录结构 index.html文件 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>xxx登录</title> </head> <body> <!-- 表单提交方式为post,提交...

hestyle的博客 1753

Java Web 程序设计 第六章 表单开发 6.3 获取单一表单元素数据

6.3 获取单一表单元素数据 1.核心知识点 单一表单元素--核心知识点 2.任务1--获取表单文本框中的数据 新建textForm.jsp文件,通过表单输入学生的部分资料,提交到textFormResult.jsp可以显示学生的信息。界面如下图所示: textForm.jsp <%@ page language="java" contentType="text/...

m0_43443133的博客 1132
上一篇: Java Web基础:第十讲 Web应用输入概述
下一篇: EJB概述
老李-大连
博客等级 码龄20年 3206粉丝 308原创
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值