表单控件禁用属性:readonly VS disabled

Vue表单处理的工程化实践:状态隔离、序列化与验证 表单是前端应用中最常见也最易被低估的交互子系统,其本质是具备独立状态生命周期、数据流契约和错误传播机制的微型应用。Vue的响应式能力简化了基础绑定,但也掩盖了状态污染、类型失真、序列化歧义等深层问题。理解v-model的语法糖本质、掌握reactive与ref在表单状态管理中的分层使用策略、构建语义明确的序列化逻辑(兼顾JSON、form-urlencoded与multipart场景),并实现可组合、带节流的异步验证体系,是保障中大型Vue项目表单健壮性的关键技术路径。本文聚焦于真实业务中高频出现的表单状态 阅读详情

举例中的两个控件都是不可修改的。但是他们也有一些区别!

从字面意思我们可以知道,试用readonly属性的控件是”只读”的,而试用disabled是”被禁用”的。那么他们的区别是什么呢?

只读的控件(使用了readonly属性的控件)是用户不可以用鼠标和键盘修改其值的,但是程序员可以用javascript来修改,当提交表单的时候这个控件的名和值会提交到服务器,也就是说对服务器是可见的。

而被禁用的控件(使用了disabled属性的控件)不但用户不可以用鼠标和键盘修改,而且是对服务器不可见的,即提交表单的时候其名和值不会提交到服务器,当然,程序员也可以用javascript来修改其值。

泛微E9明细字段动态控制:JS实现属性联动与实战解析 在企业级应用开发中,表单的动态交互与数据校验是提升用户体验和业务准确性的关键技术。其原理在于通过前端脚本实时监听用户操作,并动态操作文档对象模型(DOM)来改变界面元素的属性和行为。这项技术的核心价值在于突破了静态配置的局限,实现了基于业务逻辑的精细化字段控制,从而将标准表单转化为智能的业务处理工具。典型的应用场景包括费用报销、项目管理和审批流程等需要复杂校验与联动的业务单据。本文以泛微E9平台为例,深入探讨如何利用JavaScript实现明细表字段的**只读、必填、隐藏**等状态的动态联动,并提供了从事件 阅读详情

相关推荐

emWin MULTIEDIT与MULTIPAGE控件深度解析与实战应用

在嵌入式GUI开发中,窗口控件(Widgets)是构建交互式用户界面的核心组件,其设计原理直接影响着用户体验与开发效率。通过理解控件的消息循环、父子窗口层级与资源管理机制,开发者能够高效地组织复杂界面逻辑。MULTIEDIT控件作为嵌入式环境下的多行文本处理利器,其核心价值在于支持多行编辑、光标移动与自动滚动,可灵活切换为文本编辑器、只读显示器或密码输入框,广泛应用于系统日志查看、配置表单等场景。MULTIPAGE控件则通过标签页(Tab)管理界面空间,实现功能的逻辑分类与动态加载,是构建系统设置菜单、数据

weixin_30735745的博客 372

layui input标签设置只读 不可编辑 背景灰化

layui input标签设置只读 不可编辑 背景灰化方法记录: 1、 只读属性+背景灰化:readonly="true"style="background:#CCCCCC" 2、 禁用属性+背景灰化:disabled="disabled"style="background:#CCCCCC" <!-- 设置只读 背景灰化 --> <input type="text" id="name" name="name" style="background:#CCCCCC...

weixiao的博客 2万+

CSS :not伪类的底层原理与工程化实践

CSS选择器中的:not伪类并非简单的逻辑取反,而是一种受浏览器渲染引擎匹配机制严格约束的精确否定工具。其核心原理在于仅支持简单选择器参数,匹配过程遵循从右向左的O(1)时间复杂度算法,直接影响CSS特异性计算与层叠行为。这一机制赋予:not独特技术价值:推动语义化HTML结构设计、减少重复样式声明、提升维护可预测性,并与:is()、:where()等现代选择器形成协同系统能力。典型应用场景包括表单状态控制(如button:not([disabled]))、表格奇偶行精细化着色、导航栏激活项排除及响应式布局

chuliaoqiao4046的博客 413

怎么设置 select控件【下拉框】 只读

select、checkbox和radio都没有readonly属性。 如果想让select只读,能够做的就是更改值的时候给予提示,值不能修改。当属性设置为"disabled"时,提交表单时,select的值无法传递,在表单中,使用disabled会使值无法在后台获得。所以个人考虑到的只有在修改时,给予提示,使其不能修改。

zhengxiangwen的专栏 9027

[Layui]layui输入框如何设置禁止输入

layui输入框设置禁止输入的方法:首先打开相应的代码文件;然后通过设置输入框属性为“disabled readonly class=“layui-input layui-disabled””来实现禁止输入即可 layui input禁止输入功能 disabled class = “layui-disabled” readonly (这个可以不要) 章 ...

德仔 8605

layui select 禁止点击的实现方法

今天小编就为大家分享一篇layui select 禁止点击的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

layui表单控件禁用属性:readonly VS disabled

layui表单控件禁用属性:readonly VS disabled1.提交表单时,是否提交到服务器端2.显示备注: 从字面意思我们可以知道,试用readonly属性的控件是”只读”的,而试用disabled是”被禁用”的。功能都是让控件不可编辑,主要区别: 1.提交表单时,是否提交到服务器端 只读的控件(使用了readonly属性的控件)是用户不可以用鼠标和键盘修改其值的,但是程序员可以用jav...

益久科技-IT外包服务 3万+

设置disabled属性后台读不到数据如何让select支持readonly

设置了disabled属性后,后台读取不到数据,让select支持readonly属性,可以设置disabled属性,并把表单值存入hidden隐藏域中,也可以使用jquery控制。示例如下,需要的朋友不要错过

【html】表单控件禁用属性:readonly VS disabled

在html中有两种禁用表单提交的方法,他们分别是:  1.给控件标签加上readonly='readonly'属性  2.给控件标签加上disabled='disabled'属性  例如:    举例中的两个控件都是不可修改的。但是他们也有一些区别!  从字面意思我们可以知道,试用readonly属性的控件是"只读"的,而试用disabled是"被禁用"的。那么他们

Q仔的博客 1947

黑暗中的爆破(船讯网Ais爬虫暨爬虫实战js逆向学习经验分享)

船讯网 爬虫 js逆向 python

returnadsss的博客 1575

数字电路基础(CMOS电路、低功耗方法)

文章目录一、CMOS器件1.1.CMOS反相器1.2. CMOS与非门1.3.CMOS或非门1.4 CMOS与门和CMOS或门二、CMOS电路参数——功耗 一、CMOS器件 1.1.CMOS反相器 CMOS反相器实现非门功能,由一个PMOS管和一个NMOS管组成,其逻辑电路图如下: 其真值表如下: In PMOS NMOS Out 0 √ 导通 ×关闭 1 1 ×关闭 √...

Mr.翟的博客 1万+

Html中禁用的属性是哪一个,html表单控件禁用属性readonly VS disabled介绍

在html中有两种禁用表单提交的方法,他们分别是:1.给控件标签加上readonly='readonly'属性2.给控件标签加上disabled='disabled'属性例如:举例中的两个控件都是不可修改的。但是他们也有一些区别!从字面意思我们可以知道,试用readonly属性的控件是"只读"的,而试用disabled是"被禁用"的。那么他们的区别是什么呢?只读的控件(使用了readonly属性的...

weixin_42528974的博客 1701

华为防火墙NAT避坑指南:当双ISP出口遇到服务器发布,这些细节不注意会翻车

本文深入解析华为防火墙在双ISP出口环境下服务器发布的实战配置,重点探讨no-reverse参数对Server-Map表的影响、源进源出功能的实现及线路切换时的会话保持问题。通过策略路由和智能选路技术,确保HTTP/FTP服务在多运营商链路中的高可用性,避免路径不对称和NAT映射冲突等常见陷阱。

weixin_30897233的博客 548

java控件禁用,html表单控件禁用属性:readonly VS disabled【转】

在html中有两种禁用表单提交的方法,他们分别是:1.给控件标签加上readonly='readonly'属性2.给控件标签加上disabled='disabled'属性例如:举例中的两个控件都是不可修改的。但是他们也有一些区别!从字面意思我们可以知道,试用readonly属性的控件是"只读"的,而试用disabled是"被禁用"的。那么他们的区别是什么呢?只读的控件(使用了readonly属性的...

weixin_32187075的博客 276

OpenCV计算机视觉实战(11)——边缘检测详解

在本节中,我们系统介绍了三大经典边缘检测算子,包括 Sobel 算子:一阶导数平衡了噪声抑制与边缘提取,结合方向信息可用于纹理分析与车道检测;Laplacian 算子:二阶导数对微小亮度突变尤为敏感,配合零交叉和细化技术,可精确捕捉任意方向的细节边缘;Canny 算法:集成多阶段处理与双阈值策略,通过多尺度融合与自适应阈值优化,达到抗噪与细节兼顾的卓越效果。

qq_30167691的博客 4375

华为od 面试手撕代码题【完成任务最少小时】

华为od 面试手撕代码题【完成任务最少小时】

MISAYAONE的博客 1579

别再只会用disabled了!HTML表单禁用元素的3个实战场景与2个常见误区

本文深入探讨了HTML表单禁用元素的3个实战场景与2个常见误区,重点解析了`disabled`属性的动态控制、无障碍访问等高级用法。通过电商地址联动、禁用与只读属性对比等案例,帮助开发者避免表单提交陷阱,提升用户体验与交互设计水平。

weixin_33728708的博客 269

vue3+element-plus - 最新详细实现将表格Table组件 “所见所得导出“ 为excel(xls/xlsx)电子表格文件,表格中的图片图像、图标等媒体资源完美导出显示(详细示例代码)

vue3,nuxt3,element plus,表格组件,Table,el-table,导出,下载,excel,电子工作簿,xls,xlsx,将表格导出成xls,如何把表格原封不动的导出成excel,保留图片,带图片,图标,如何导出包括含有图片的Excel表格,图片和表格数据导出excel,把表格导出成excel格式,表格内的图片一起导出,vue3导出图片和数据到Excel,可导出图片,导出图像到Excel,网页上的图片怎么能导出到xls表格中,显示图片url链接,图片太多导出失败,图片会超出单元格,图片不

✅ 精选推荐文章 4766

Angular表单 容易忽略的那些规则(一)

禁用的控件不影响表单的验证结果:即使你禁用了某个控件,它的值也不会影响 form.valid 的计算。换句话说,禁用控件依然会被视为通过验证。 控件禁用后不参与表单验证:禁用的控件不会触发验证规则,也不会影响form.valid​​​​​​​ 的计算。因此,即使某个控件的值不符合验证规则,只要它被禁用,form.valid依然会被计算为true。

qq_44327851的博客 549

【100%通过率】华为OD机试真题 C++ 实现【打印机队列】【2022.11 Q4 新题】

有5台打印机打印文件,每台打印机有自己的待打印队列。因为打印的文件内容有轻重缓急之分,所以队列中的文件有1~10不同的代先级,其中数字越大优先级越高。打印机会从自己的待打印队列中选择优先级最高的文件来打印。如果存在两个优先级一样的文件,则选择最早进入队列的那个文件。现在请你来模拟这5台打印机的打印过程。

MISAYAONE的博客 9946

YOLO模型从10MB瘦到2MB!剪枝+INT8量化双方案(精度损失<1%,附部署代码)

摘要:本文介绍了一种针对边缘设备的YOLO模型轻量化方案,通过"结构化剪枝+INT8量化"组合技术,将YOLOv8n模型从6.4MB压缩至2MB,体积减少68.75%,推理速度提升80%,同时保持精度损失小于1%。文章详细讲解了剪枝工具选择、通道剪枝实现、量化校准等关键步骤,并提供了完整的代码示例。特别强调了剪枝保留率、校准集使用、微调必要性等实践要点,帮助开发者在树莓派等资源受限设备上实现高效目标检测。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 756

HTML表单底层协议解析:从成功控件到multipart编码

HTML表单是Web最基础的通信机制,其本质是一套浏览器与服务器间约定的数据提交协议,涵盖语义定义、编码规则(application/x-www-form-urlencoded和multipart/form-data)、HTTP方法语义(GET/POST)及安全边界。理解‘成功控件’筛选逻辑与enctype编码差异,是解决字段丢失、文件乱码、Model Binding失败等高频问题的关键。该协议独立于JavaScript和前端框架,构成所有现代表单库(如React Hook Form、Vue UseForm

世范水晶 724

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

jQuery 获取 HTML 各类属性值

jQuery属性操作指南(150字摘要) 本文系统讲解jQuery七大核心属性操作方法: attr():获取/设置标准HTML属性及自定义普通属性(非data-*) prop():专用于布尔表单状态(checked/disabled返回true/false) data():处理HTML5的data-*属性,自动驼峰转换和类型推断 val():获取表单控件(input/select/textarea)的值 text()/html():分别获取纯文本或带标签的HTML内容 css():读取行内样式,支持单属性或

piaoyiren的博客 309

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Qwen3.5-Plus 在jQuery 中,让输入框( 或 )不可输入

虽然旧代码中常用 attr(‘disabled’, ‘disabled’),但在现代 jQuery 中,处理布尔状态应优先使用 prop()。attr() 操作的是 HTML 属性,而 prop() 操作的是 DOM 属性状态。jQuery 设置代码 .prop(“disabled”, true) .prop(“readonly”, true)特性 disabled (禁用) readonly (只读)能否聚焦 (Tab键) 否 (跳过该元素) 是 (可以聚焦)

m0_37843156的博客 238

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

前端入门精讲|8个高频HTML核心知识点详解(面试必背)

以上8个知识点,覆盖了HTML表单核心、路径规范、图片选型、H5新增特性、绘图方案等前端基础核心内容,既是日常开发的高频实用知识点,也是校招、面试的必考考点。在表单开发中,我们经常需要限制输入框的操作权限,disabled(禁用)和readonly(只读)是最常用的两个属性,二者看似都是“不能修改内容”,但在交互效果、数据提交、事件触发上有本质区别,也是前端面试高频考点。路径是引入图片、样式、JS文件的基础,路径报错是新手最常见的bug,彻底分清相对路径和绝对路径,可杜绝90%的资源加载失败问题。

2602_95057108的博客 239

jQuery属性与样式操作核心原理:attr、prop、data、css四大API详解

DOM操作是前端开发的底层基石,理解HTML属性(Attribute)与JavaScript属性(Property)的本质差异,是掌握动态交互的关键前提。jQuery通过.attr()、.prop()、.data()和.css()四套API,分别抽象了结构标记、状态控制、临时数据挂载与样式干预等核心能力。其中,.prop()精准映射布尔控件状态(如checked、disabled),.attr()维护HTML源码一致性,.data()提供类型安全的私有存储,.css()则覆盖内联样式、计算值读取与批量设置三

chuji3953的博客 482
上一篇: linux查看使用端口号
下一篇: laravel使用elasticSearch(一)
phpLara
博客等级 码龄9年 9粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值