javascript教程 - 第四部分 关于form对象

基于Q-learning的无人机三维路径规划(含完整C++代码) 阅读详情
javascript教程 - 第四部分 关于form对象


使用 form [表单]对象

在前边的例子中,我们已经接触到很多余表单 form 对象的元素相关 javascript 代码,比如按钮、文本输入框等等。form 的元素是为了网页的交互性而设计的,你可以通过 form 获得用户提交的信息,在这章中我们将讨论 form 的元素。

【form 对象】

在我们使用单独的表单 form 对象之前,首先要引用 form 对象。正如我们在第二部分所讲的那样,form 对象由网页中的 <form></form> 标记对创建,相似的,form 里边的元素也是由 <INPUT> 等标记创建的,他们被存放在数组 elements 中。

在前边我们已经讲过了如何使用 elements 数组了。例如,在一个页面中有两个 form 对象:

<html>
<head>
<title></title>
</head>
<body>

<form name="customerinfo" action="/cgi-bin/customer.cgi" method="post">
Name: <input name="customername" type="text"><br>
Address: <input name="address" type="text"><br>
<input type="submit" value="Update"><input type="reset" value="Clear">
</form>

<form name="orderdata" action="/cgi-bin/order.cgi" method="post">
Item Number: <input name="itemnumber" type="text"><br>
Quantity: <input name="quantity" type="text"><br>
<input type="submit" value="Update"><input type="reset" value="Clear">
</form>

</body>
</html>


要使用名为 'quantity' 的元素,可以使用下边三种方法中的任何一种:

var e = document.forms["orderdata"].elements[1];
var e = document.forms.orderdata.elements["quantity"];
var e = document.orderdata.quantity;

每一种元素类型 (type) 多对应每一种不同的对象,这些对象有一些共同的属性和方法,如:value 属性和 focus() 方法,此外,它们还有自己独特的属性和方法,下边我们将会按顺序对每一种元素类型进行讲解。

你可以通过元素的 type 属性知道元素是什么类型,在上边的例子中,我们可以使用下边的代码来获得名为 'quantity' 的元素的类型:

document.orderdata.quantity.type

结果将会返回 'text'。

【处理一个表单 form】

通常一个 <form> 标记中含有 ACTION="...." 的语句,这个语句是用来指定一个表单提交后的服务器端处理文件的文件名 (包括路径,即整个URL),在的一部分中,我们曾经使用过 onSubmit 事件来判断用户的输入是否正确,如果正确就将这些信息提交到服务器进行处理,而服务器上用来处理这些信息的程序所在的文件就是通过 ACTION="..." 来指定的。

如果你想要通过 form 的元素来获得用户的输入,而不在服务器上处理,那就不要在 <form> 标记中加入 ACTION="...." 和 METHOD="....",就像我们在在线示例中使用的“查看源代码!”的按钮,这个按钮就是在客户端而不是服务器端运行了一些代码来查看源文件。

form 对象各元素类型

【button 按钮对象】

按钮有三种类型,一般的按钮 (button),“提交” (submit) 按钮和 “重置” (reset) 按钮,它们有共同的属性和方法,也有各自不同的属性和方法。这三种按钮可以在 <INPUT> 标记中通过 TYPE="...." 来创建,例如:

<input type="submit" value="Submit">
<input type="reset" value="Clear">
<input type="button" value="Cancel" onClick="cancel();">

它们三个的不同之处在于,submit 提交按钮有个默认动作是点击此类按钮以后自动提交表单的内容;reset 重置按钮的默认动作是点击此类按钮以后自动将表单的内容恢复到最初的状态;而对于一般的 button 按钮来说,则没有默认动作,需要通过使用 onClick 事件句柄,在此事件触发时调用函数才行。

你也可以通过使用 onClick 事件句柄来改变 submit 和 reset 按钮的默认动作。这个 在线示例 中就使用了这三种不同的按钮来完成计算功能。

技巧1:在此例中我们使用了 javascript 的内建函数 parseInt(),此函数将文本框里的字符串对象转换成数值对象。否则字符 "2" 和字符 "2" 进行 "+" 运算的结果是 "22",而不是 4。

技巧2:reset 按钮有默认动作,那就是将表单中所有的内容恢复到最初的状态,如果想改变其默认动作,可以像这个 在线示例 那样。

【text (文本框)、password (密码输入框)、hidden (隐藏域) 和 textarea (多行文本框) 对象】

这几个对象都很相似,输入的都是字符串,它们仅仅是显示的方式不一样而已:

text - 一个单行的文本输入框
password - 一个单行的密码输入框,输入的字符将不会显示出来,显示出来的只是 '*' 号
hidden - 一个单行的文本域,但是它不会在页面上显示任何东西,而且使用网页的用户不能直接修改它的值,但是你却可以通过代码修改它的值
textarea - 多行的文本输入框,可以在框中使用 “回车” 换行
技巧:hidden 域是一个很有用的对象,它可以将一些不想在页面上显示的信息传给服务器,但是,虽然这些信息不会显示在页面上,你还是不能将重要的信息,如密码等信息放到此域中,因为用户在客户端是可以通过查看源文件知道这些信息的。

text 和 textarea 元素提供了 onChange 事件,当这些输入框的内容发生变化时就会触发此事件。看看这个 在线示例 就知道了。你会注意到 onChange 事件只是发生在用户离开输入框 (使用了 TAB 键或鼠标焦点离开) 或者按了 “回车” 键的时候发生。

你只有确实地改变了文本框中的内容才会触发此事件。如果你将输入的内容清楚,然后输入完全相同的内容,将不会触发 onChange 事件。

【checkbox (复选框) 和 radio (单选框) 按钮对象】

checkbox 和 radio 按钮可以为用户提供一序列选项,checkbox 用于可以多选的选项中,而 radio 用于只能单选的选项中。

checkbox 对象通过 value="...." 来设置值,但表单提交之后,服务器接收到的只是选中的项的值,此对象有一个 checked 的属性,此属性用来判断每一个复选框的状态,即选中还是没选中,例如:<INPUT TYPE="checkbox" checked> 表示此复选框被选中;而 <INPUT TYPE="checkbox"> 表示此复选框没有被选中。

你可以通过 javascript 代码修改、设置 checkbox 的 checked 属性,就像这个 在线示例 中的那样,将 checkbox 的 checked=false 则不选中该复选框,checked=true 则相反。

单选框 radio 按钮与 checkbox 不同,它是在一序列选项中只能选一个,例如,我们对来访用户的年龄进行调查,看他们属于哪一个年龄段,则可以使用下边的代码:

<input name="agegroup" type="radio" value="under 21">21岁以下<br>
<input name="agegroup" type="radio" value="21 to 35">21岁到35岁<br>
<input name="agegroup" type="radio" value="36 to 45">36岁到45岁<br>
<input name="agegroup" type="radio" value="46 to 65">46岁到65岁<br>
<input name="agegroup" type="radio" value="over 65">65岁以上

我们注意到这些选项对应的 radio 按钮对象有一个相同的对象名 'agegroup',这是说明这些按钮都是在一个组里的,在这个组里,任何时候都只能有其中的一项 (不可能有两个或两个以上) 被选中,当表单被提交到服务器的时候,服务器接收到的值就是选中的那一项。同时,agegroup 对象的值也是选中的那一项的 value 属性的值。

一个组中的每一个 radio 按钮都代表一个 radio 对象,和 checkbox 类似,每一个都有 checked 和 value 属性,此属性对应于 HTML 标记中的 value="...." 代码,和 checkbox 所不同的是当组里的一个 radio 按钮被选中时,则其它 radio 按钮将不会被选中。

现在问题来了:在一组 radio 按钮中,如何去访问其中的任何一个 radio 按钮?使用 radio 按钮组的名字 (如上边的 agegroup) 是不行的,它的值只是选中的按钮的值,那你要访问其它没有被选中的值该怎么办呢?看看下边的代码就知道了:

var rb;

for (i = 0; i < document.forms["myform"].agegroup.length; i++) {
rb = document.forms["myform"].agegroup[1];
if (rb.checked) {
...
}
}

R原来使用组的名字 (如 agegroup) 作为数组,然后给数组加上下标即可 (如 agegroup[0] 是访问 agegroup 组中的第一个 radio 按钮)。另外要记住的是在这个数组中,只有一个元素的 checked 属性值是 true,因为任何时候都只有一个 radio 按钮被选中。请看 在线示例 。

【select 和 option 对象】

使用 select 选项列表 (即是通常的下拉列表框之类的) 也是一种给用户提供选项的有用方法,看一下下边的代码:

<select name="state" size=1>
<option value="AL">Alabama
<option value="AK">Alaska
<option value="AZ">Arizona
<option value="AR">Arkansas
<option value="CA">California
<option value="CO">Colorado
<option value="CT">Connecticut
<option value="DE">Delaware
<option value="DC">District of Columbia
...
<option value="WY">Wyoming
</select>

一个 select 对象是由 <SELECT> 标记创建的。此对象的 options 属性是一个对应于 option 对象群的数组,每一个 <OPTION> 标记对应一个 option 对象,也就是对应一个 select 对象的选项。

注意:IE 3.0 不支持 select 和 option 对象。

select 对象的另外两个常用的属性是 length 和 selectedIndex 属性。length 属性是选项的个数,也就是 options 数组的元素个数;selectedIndex 属性则给出了被用户选中的那个选项在 options 数组中的下标。

下边的代码中,变量 i 是当前用户选中的那个选项在 options 中的下标,而第二行语句通过变量 options[1] 使得变量 s 指向被选中的选项对应的那个 option 对象:

var i = document.forms["myform"].state.selectedIndex;
var s = document.forms["myform"].state.options[1];

不过上边的代码只是对于 select 对象为单选的情况下有用,当你在 <SELECT> 标记中加入 MULTIPLE 属性后,用户就可以选择多个选项了,在这种情况下,selectedIndex 属性只是指向第一个被选中的项。

为了处理多选的情况,你可以使用 option 对象的 selected 属性通过循环检测每一个 option 对象,就像这个 在线示例 演示的那样,查看一下源代码就知道它是如何实现的了。

【创建和删除 option 对象】

注意:IE 4.0 对选择列表 selection 和 option 的方法不同于 Netscape,这一部分内容只能运用在 Netscape 3.0 或者更高版本。

你还可以通过代码创建和删除选项 option 对象。创建 option 对象使用 Option 数据结构,例如:

var opt = new Option(text, value, defaultSelected, selected)

参数 text 是显示在页面上的选项的文字,参数 value 对应于 <OPTION> 标记中的 value="...." 属性,即 option 对象的值;参数 defaultSelected 和 selected 是布尔值,用来设置此新建的 option 对象是否为默认选项,以及是否被选中,这两个参数都是可选的,即可以不提供这两个参数的参数值。这个 option 对象可以被加入到一个 options 数组中。而删除一个已经存在的 option 对象,只需将此对象在数组中的那个元素设置为空 ('null' 值) 即可,同时,这样也使数组变小了。

这个 在线示例 演示了如何创建一个两层的菜单系统,而且此菜单系统的第二层菜单是根据第一层菜单动态生成的。注意,这个例子不能在 IE 浏览器中使用。

此例中一些值得注意的地方:

第一,为每一个二级菜单设置一个数组;
不管选择了哪个大类,都会触发 onChange 事件,然后调用 setOptions() 函数设置二级菜单;
函数 setOptions() 首先将原有的二级菜单全部选项删除,然后再将新的二级菜单加入到选项列表中;
一旦二级菜单被设置完成,我们就调用 history.go(0) 来刷新当前页面,促使新的选项能够显示出来。
在 ABAP 环境中创建 Job Catalog Entry 和 Job Template 的完整实践指南 摘要:本文介绍了SAP BTP ABAP环境中Application Job的云原生解决方案,对比传统后台作业模式。重点阐述了Job Catalog Entry和Job Template两大核心概念,通过库存重估业务场景演示如何实现可调度类、创建Job Catalog Entry及Job Template。文章详细说明了从ABAP类到Job Catalog Entry再到Job Template的完整链路,并分享实际项目中的设计经验和注意事项,帮助开发者将传统后台作业迁移到Application Job框架 阅读详情

相关推荐

S/4中的16种特殊库存类型

S/4中的16种特殊库存类型

yanzibing99的博客 1万+

form在提交前改变某个属性或者值

网上说了一大堆,但是都是使用插件,jquery.form.js这个吧,但是我这里不需要,简单的写个function就行了. 直接上代码: <form class="form-horizontal" id="myForm" action="{{url('channelForm/store_channel_form')}}" method="post" enctype="multipart/fo...

阳水平的博客 1万+

《AI应用架构师智能特征工程实践的前沿趋势解读》

面对传统方法的局限性,智能特征工程(Intelligent Feature Engineering)应运而生。智能特征工程是指利用人工智能、机器学习和自动化技术,实现特征提取、构造、选择和优化过程的自动化、智能化和可扩展化的方法和技术体系。效率提升:将数据科学家从繁琐的人工特征工程中解放出来,大幅缩短特征开发周期。质量保障:通过系统化方法发现人类难以察觉的特征模式,提高特征质量和模型性能。可扩展性:能够处理大规模、高维度和多类型的数据,适应不同领域和场景。降低门槛。

大数据洞察的博客 1181

form表单内容编辑,只提交已经修改的部分,未修改的部分不提交

更新接口做了名称重复校验,只修改状态,会校验名称重复,只能提交修改的字段和id 更新内容 封装对比函数 function diffDataForm(newData, oldData) { let result = {} // 报错修改的字段内容 Object.keys(oldData).forEach(key => { if (oldData[key] !== newData[key]) { result[key] = newData[k.

逆水行舟,不进则退 2946

基于奥比中光Orbbec Astra Pro与ROS实现实时3D环境建模:orb_slam2实战指南

本文提供了一份详细的实战指南,介绍如何使用奥比中光Orbbec Astra Pro深度摄像头与ROS系统,部署并运行ORB-SLAM2算法,实现实时3D环境建模与定位。内容涵盖从驱动安装、环境配置、算法编译到摄像头标定与性能调优的全流程,旨在帮助开发者快速搭建一套高性价比的视觉SLAM系统。

weixin_29054399的博客 336

UE5摄像机抖动全攻略:从Perlin噪点到Sequence实战(附参数调优技巧)

本文深入解析UE5摄像机抖动技术,从Perlin噪点算法到CameraShakeBase蓝图应用,再到Sequence高级控制,提供全面的参数调优技巧。涵盖战斗、爆炸等场景的预设参数,帮助开发者实现专业级抖动效果,提升游戏沉浸感。

weixin_30300225的博客 97

form对象

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33957648的博客 369

Android Termux 安装Kali Linux 或 kali Nethunter史诗级详细教程

Termux 安装kali

风云小虾米的博客 6万+

js基础-form对象

写个三遍五遍就熟悉了 晚上七点后敲当当网两个板块代码:标签切换和字幕向上滚动,图片切换 1.在css中,一个div里加背景属性(background)中的url(images/a.jpg),必须给这个div加高,宽可以加也可以不加,最好都写上宽高,这样这个div才会有背景图。 for循环,数组,循环数组, 2.form对象 一个标记,就是一个对象。 1、form对象的属性 l  

cjy082322的博客 734

广义正态分布优化算法(GNDO)详解:从理论到实践

广义正态分布优化算法(GNDO)是一种基于正态分布理论的新型元启发式优化算法。该算法通过局部开发和全局探索两种策略平衡搜索过程:局部开发利用广义平均位置和标准差进行精细搜索,而全局探索通过随机个体信息共享扩大搜索范围。GNDO具有参数少、结构简单、收敛速度快等优点,在光伏模型参数提取等工程优化问题中表现优异。算法将种群位置更新与正态分布参数调整相联系,通过自适应机制平衡探索与开发,数学分析表明其具有全局收敛性。相比传统优化算法,GNDO在探索能力和开发能力上均有优势,是高维复杂优化问题的有效解决方案。

qq_42212808的博客 139

安卓手机老版本微信无法登录?无需root 一招教你如何搞定!旧版本照样登录,微信7.0亲测有效

微信我试了清缓存、用不同的版本、甚至关网登录都不行。于是我研究了一下背后的原理,发现这不仅是个技巧,还是微信设计的一点“疏忽”——**只要有方法,旧版本照样能用**。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1万+

JS中的form对象是什么

它允许你通过 JavaScript 访问和操作表单元素中的字段(如输入框、单选按钮、复选框等)以及提交表单的数据。对象提供了一种便捷的方式来与表单元素交互,包括获取表单字段的值、验证用户输入以及触发表单的提交等操作。阻止表单的默认提交行为:你可以使用事件监听器来拦截表单的提交,执行自定义操作,然后使用。访问和修改表单字段的值:你可以使用表单对象中的字段名称或索引来获取和设置字段的值。验证用户输入:你可以使用表单对象来验证用户输入,确保数据符合要求。提交表单:你可以使用表单对象的。方法来触发表单的提交。

子玉的博客 422

大模型算法岗常见面试题100道

LangChain是一个用于构建和运行大型语言模型应用的开源框架。它提供了一套工具和组件,帮助开发者将大型语言模型(如 GPT-3)与其他工具和API结合,以完成更复杂的任务。1、LangChain包含哪些核心概念?Components:可重用的模块,例如API调用、数据库查询等。Chains:将多个Components链接在一起以完成特定任务的流程。Prompt Templates: 用于指导语言模型生成输出的文本模板。Output Parsers:解析语言模型输出的工具。

具身机器人和通用AI 1961

JavaScript教程 - 第四部分 关于form对象

[正文]使用 form [表单]对象 在前边的例子中,我们已经接触到很多余表单 form 对象的元素相关 JavaScript 代码,比如按钮、文本输入框等等。form 的元素是为了网页的交互性而设计的,你可以通过 form 获得用户提交的信息,在这章中我们将讨论 form 的元素。 【form 对象】 在我们使用单独的表单 form 对象之前,首先要引用 form 对象。正如

落叶飘香 624

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

JavaScript表单对象Form介绍

<br />原文地址:http://www.pczpg.com/a/2010/0312/3106_2.html<br /> <br />要实现动态交互,必须掌握有关表单对象(Form)和框架对象(Frames)更为复杂的知识。<br />1、 表单基础知识<br />表单是最常见的与JavaScript一起使用的HTML元素之一。在网页中用表单来收集从用户那里得到的信息,并且 <br />将这些信息传输给服务器来处理。表单主要有两类应用:一是如订单、个人资料、调查信息等;二是搜索引擎<br />功能,即从

王伟峰 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

关于form对象 javascript

使用 form [表单]对象 在前边的例子中,我们已经接触到很多余表单 form 对象的元素相关 JavaScript 代码,比如按钮、文本输入框等等。form 的元素是为了网页的交互性而设计的,你可以通过 form 获得用户提交的信息,在这章中我们将讨论 form 的元素。 【form 对象】 在我们使用单独的表单 form 对象之前,首先要引用 form 对象。正如我们在第二部分所

chenshizero的专栏 1436

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

JavaScript的Form对象

<!--function regForm(){ //if(document.forms["myForm"].t1.value.length==0){ if(document.forms["myForm"].t1.value.length==0){ alert("not is empty"); return false; } return true;}

李逍遥的专栏 907

html form 部分提交,form表单action提交的js部分与html部分

form表单action提交的js部分与html部分发布于 2017-01-24 20:18:42 | 130 次阅读 | 评论: 0 | 来源: 网友投递JavaScript客户端脚本语言Javascript 是一种由Netscape的LiveScript发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供...

weixin_36071439的博客 519

JavaScript:Form对象

Form[]对象 一个表单隶属于一个文档,对于表单对象的引用可以通过使用隶属文档的表单数组进行引用,即使在只有一个表单的文档中,表单也是一个数组的元素,其引用形式如下: Document.forms(0) 注意:表单数组引用是采用form的复数形式forms,数组的下标总是从0开始。 在对表单命名后,也可以简单地通过名称进行引用,比如,如果表单的名称是MyForm,则引用形式如下所示:

VaJoy童鞋的专栏 2339

面向对象的JavaScript编程

面向对象的JavaScript编程 Javascript对于做过Web程序的人不应该是陌生,初期是用来做一些简单的FORM验证,基本上是在玩弄一些技巧性的东西。IE 4.0引入了DHTML,同时为了对抗Netscape的Javascript,提出了自己的脚本语言JScript,除了遵循EMAC的标准之外,同时增加了许多扩展,如下要提到的OOP编程就是其中的一个,为了命且概念,我以

1万+

Nuxt Form Actions 项目教程

Nuxt Form Actions 项目教程 项目介绍 Nuxt Form Actions 是一个为 Nuxt 应用提供表单操作和 Server Loaders 功能的模块。它允许开发者使用原生 HTML 表单,并通过渐进增强的方式将数据发送到服务器。这个模块简化了表单提交的处理流程,使得开发者可以更专注于业务逻辑的实现。 项目快速启动 安装 首先,你需要在你的 Nuxt 项目中安装 form-a...

gitblog_00827的博客 943

Layui环境下form表单提交;jquery.form.js;lay-verify,lay-filter;

话不多说,直接看代码: 引入相关文档: <script th:src="@{/js/jquery-1.9.1.js}"></script> <script th:src="@{/js/jquery.form.js}"></script> <script src="/layui/layui.js"></script> <link rel="stylesheet" href="/layui/css/layui.css"> (这

m0_52613676的博客 3474

jQuery表单库jquery.form.js

本主题是《云客drupal源码分析》的番外篇,在drupal系统中用于支持AJAX API,由于这是一个独立实用的库,因此专门用一个主题介绍 简介: jQuery表单库(jquery.form.js库)以jQuery为基础,用于处理表单AJAX提交,使得表单AJAX提交简单、容易,且能完整控制提交过程和处理结果,不需要任何特殊标签辅助,不影响原表单结构,只要使用该库就能使普通表单平滑升级...

云客的技术博客【云游天下 做客四方】 1万+

JavaScript表单对象Form

要实现动态交互,必须掌握有关表单对象(Form)和框架对象(Frames)更为复杂的知识。 1、 表单基础知识 表单是最常见的与JavaScript一起使用的HTML元素之一。在网页中用表单来收集从用户那里得到的信息,并且 将这些信息传输给服务器来处理。表单主要有两类应用:一是如订单、个人资料、调查信息等;二是搜索引擎 功能,即从用户那里得到查询标准,由Web浏览器送给服务器的数据库,在数

gfangxiong的专栏 1804

js重置form表单

  CreateTime--2017年7月19日10:37:11Author:Marydon js重置form表单 需要使用的方法:reset() 示例:   HTML部分 &lt;form id="test"&gt; &lt;input id="test2" type="hidden" value="2"/&gt; &lt;textarea&amp

weixin_34387284的博客 1712

Lucky 反向代理快速上手:一条规则把内网服务转发到公网域名

家里或机柜里有台闲置主机,上面跑着不少 Web 服务,你想这样用它们: - 把内网的 FileBrowser、NAS 管理页安全地暴露到公网,只让特定 IP 访问; - 一个固定入口端口,按域名把请求分发到不同服务,比如 a.com 进文件服务、b.com 进后台; - 多台同构机器组成后端组,由入口统一分发请求,避免单点压力。 Lucky 反向代理就是干这个的:它在本机起一个 HTTP 监听

gitblog_00750的博客 1056
上一篇: javascript教程 - 第三部分 window 和 frame 对象
下一篇: javascript教程 - 第五部分 高级话题
liusylon
博客等级 码龄23年 3粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值