Form表单中input的各种Type类型

本文详细介绍了HTML中Input的各种类型,包括文本输入框、密码输入框、文件上传、隐藏域、按钮、多选框、单选框、图片提交、提交和重置按钮。每种类型都配有详细的参数说明和示例代码。

nput表示Form表单中的一种输入对象,其又随Type类型的不同而分文本输入框,密码输入框,单选/复选框,提交/重置按钮等,下面一一介绍。
1,type=text
输入类型是text,这是我们见的最多也是使用最多的,比如登陆输入用户名,注册输入电话号码,电子邮件,家庭住址等等。当然这也是Input的默认类型。
参数name:同样是表示的该文本输入框名称。
参数size:输入框的长度大小。
参数maxlength:输入框中允许输入字符的最大数。
参数value:输入框中的默认值
特殊参数readonly:表示该框中只能显示,不能添加修改。

<form>
your name:
<input type="text" name="yourname" size="30" maxlength="20" value="输入框的长度为30,允许最大字符数为20"><br>
<input type="text" name="yourname" size="30" maxlength="20" readonly value="你只能读不能修改">
</form>
2,type=password
不用我说,一看就明白的密码输入框,最大的区别就是当在此输入框输入信息时显示为保密字符。
参数和“type=text”相类似。
<form>
your password:
<input type="password" name="yourpwd" size="20" maxlength="15" value="123456">密码长度小于15
</form>
3,type=file
当你在BBS上传图片,在EMAIL中上传附件时一定少不了的东西:)
提供了一个文件目录输入的平台,参数有name,size。
<form>
your file:
<input type="file" name="yourfile" size="30">
</form>
4,type=hidden
非常值得注意的一个,通常称为隐藏域:如果一个非常重要的信息需要被提交到下一页,但又不能或者无法明示的时候。
一句话,你在页面中是看不到hidden在哪里。最有用的是hidden的值。
<form name="form1">
your hidden info here:
<input type="hidden" name="yourhiddeninfo" value="cnbruce.com">
</form>
<script>
alert("隐藏域的值是 "+document.form1.yourhiddeninfo.value)
</script>

5,type=button
标准的一windows风格的按钮,当然要让按钮跳转到某个页面上还需要加入写JavaScript代码
<form name="form1">
your button:
<input type="button" name="yourhiddeninfo" value="Go,Go,Go!" onclick="window.open('http://www.cnbruce.com')">
</form>

6,type=checkbox
多选框,常见于注册时选择爱好、性格、等信息。参数有name,value及特别参数checked(表示默认选择)
其实最重要的还是value值,提交到处理页的也就是value。(附:name值可以不一样,但不推荐。)

<form name="form1">
a:<input type="checkbox" name="checkit" value="a" checked><br>
b:<input type="checkbox" name="checkit" value="b"><br>
c:<input type="checkbox" name="checkit" value="c"><br>
</form>
name值可以不一样,但不推荐<br>
<form name="form1">
a:<input type="checkbox" name="checkit1" value="a" checked><br>
b:<input type="checkbox" name="checkit2" value="b"><br>
c:<input type="checkbox" name="checkit3" value="c"><br>
</form>
7,type=radio
即单选框,出现在多选一的页面设定中。参数同样有name,value及特别参数checked.
不同于checkbox的是,name值一定要相同,否则就不能多选一。当然提交到处理页的也还是value值。

<form name="form1">
a:<input type="radio" name="checkit" value="a" checked><br>
b:<input type="radio" name="checkit" value="b"><br>
c:<input type="radio" name="checkit" value="c"><br>
</form>
下面是name值不同的一个例子,就不能实现多选一的效果了<br>
<form name="form1">
a:<input type="radio" name="checkit1" value="a" checked><br>
b:<input type="radio" name="checkit2" value="b"><br>
c:<input type="radio" name="checkit3" value="c"><br>
</form>

8,type=image
比较另类的一个,自己看看效果吧,可以作为提交式图片

<form name="form1" action="xxx.asp">
your Imgsubmit:
<input type="image" src="../blog/images/face4.gif">
</form>

9,type=submit and type=reset
分别是“提交”和“重置”两按钮
submit主要功能是将Form中所有内容进行提交action页处理,reset则起个快速清空所有填写内容的功能。

<form name="form1" action="xxx.asp">
<input type="text" name="yourname">
<input type="submit"  value="提交">
<input type="reset"  value="重置">
</form

转载于:https://my.oschina.net/zouziwen/blog/713237

<think>好的,用户的问题是关于如何在Ant Design的Form表单中获取InputNumber组件的值。我需要先回忆一下Ant Design的Form组件使用方式,特别是v4版本之后的改动,因为用户提供的引用中提到了Form.create和getFieldDecorator,但在新版本中可能有所不同。 首先,用户提到的引用[1]和[3]提到,在旧版本中,使用Form.create和getFieldDecorator来包裹组件,自动注入value和onChange。但新版本可能已经简化了这个流程。例如,引用[3]中的问题是因为在Input.TextArea后面多了一个逗号,导致Form.Item无法正确获取值,这说明Form.Item需要直接包含表单控件,中间不能有其他元素。 现在用户的问题是关于InputNumber的,我需要确认在Ant Design v4或更高版本中,如何正确使用Form.Item和InputNumber。根据文档,新版本使用name属性和表单的onFinish方法来自动收集值,不需要显式使用getFieldDecorator。因此,正确的做法应该是在Form.Item中指定name属性,并将InputNumber作为子组件,确保没有多余的包裹元素。 另外,引用[2]展示了如何通过name属性处理嵌套字段,比如使用数组形式的name,这可能对用户有帮助,但用户的问题可能更基础,只需要获取单个InputNumber的值。 用户提供的示例代码可能需要展示如何用Form.Item包裹InputNumber,并确保在onFinish回调中可以正确获取值。同时,需要注意常见的错误,比如在Form.Item和InputNumber之间有多余的标签或符号,这会导致值无法正确绑定,如引用[3]中的逗号问题。 总结步骤应该是: 1. 使用Form组件包裹表单元素。 2. 每个InputNumber放在Form.Item中,并指定name属性。 3. 表单提交时,通过onFinish回调获取所有字段值,其中包含InputNumber的name对应的值。 4. 避免在Form.Item和InputNumber之间添加其他元素,确保结构正确。 可能还需要提到表单实例的使用,比如使用Form.useForm()来获取form实例,并通过onFinish或调用form.getFieldsValue()来获取值。同时,确保InputNumber的value类型是数字,可能需要检查是否正确处理数据转换,但Ant Design应该会自动处理。 最后,生成相关问题需要考虑用户可能遇到的常见问题,比如无法获取值的原因、处理嵌套结构、表单提交方法等。</think>在 Ant Design 中获取 `InputNumber` 组件的值可通过以下步骤实现: --- ### 1. 基础用法(函数组件) ```jsx import { Form, InputNumber, Button } from 'antd'; const App = () => { const [form] = Form.useForm(); const onFinish = (values) => { console.log('InputNumber 值:', values.numberField); // 直接通过字段名获取 }; return ( <Form form={form} onFinish={onFinish}> <Form.Item name="numberField" label="数值输入"> <InputNumber /> </Form.Item> <Button htmlType="submit">提交</Button> </Form> ); }; ``` --- ### 2. 关键要点说明 1. **`name` 属性绑定** `Form.Item` 的 `name` 属性对应表单值的键名,`InputNumber` 的值会自动映射到 `values.numberField`[^1][^3] 2. **类型自动转换** `InputNumber` 输入的值会自动转换为 `number` 类型,无需手动处理字符串转换 3. **验证规则集成** 可添加 `rules` 属性实现校验: ```jsx <Form.Item name="age" label="年龄" rules={[{ type: 'number', min: 18, max: 100, message: '年龄需在18-100之间' }]} > <InputNumber /> </Form.Item> ``` --- ### 3. 获取值的其他方式 #### 方法一:通过表单实例 ```jsx const values = form.getFieldsValue(); console.log(values.numberField); ``` #### 方法二:事件监听 ```jsx <InputNumber onChange={(value) => console.log('实时值:', value)} /> ``` --- ### 常见问题排查 1. **值为 `undefined`** - 检查 `Form.Item` 与 `InputNumber` 之间是否有额外元素(如多余的逗号、div 包裹)[^3] - 确认 `name` 属性命名无冲突 2. **类型错误** 如果手动处理值时应保持数字类型: ```jsx form.setFieldsValue({ numberField: Number(inputValue) }) ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值