form的属性说明

form在页面操作的时候是一个比较重要的标签了,那么这里就介绍一下这个标签里面的几个重要属性吧。

一般我们常用到的是action,method。因为html没有一个严格的语法约束,这些都可以不写,那么也就意味着得有一个默认处理逻辑。

action如果没写,那么就是采用当前页面的url进行提交,method默认是get方式。相信这2个大家都已经很熟悉了。

这里主要是说一下其他几个:

1、enctype

这个属性主要是在文件上传的时候会用到,它的默认值是application/x-www-form-urlencoded,可以处理字符串内容。但如果是文件的话,字符串就无法处理文件,那么这个enctype有另外一个值可以设置multipart/form-data。

这里忘记设置就会造成文件上传失败。如果用的是springMVC的话,可以在Controller中用如下代码拿到文件内容:

MultipartHttpServletRequest req = (MultipartHttpServletRequest)request;
        MultipartFile file = req.getFile("file");

            if(file.isEmpty() || file.getBytes().length==0){
                map.put("errorMsg", messageSource.getMessage("component.insert.ename.empty", null, null));
                return map;
            }

 

 

2、target

这里大家会觉得奇怪,target也要说啊。不就是_self,_parent,_blank,_top这几个么,但如果填的不是这几个呢?target还可以指向页面里面的iframe,如果一个iframe的name为calculate,那么target也设置为calculate就可以刷新这个iframe了。但如果不存在的话,就跟_blank效果一样了。

 

3、accept-charset

这个参数是控制form提交的编码格式,form的编码默认是依据当前页面的编码,这里也可以指定为其他。主要是用在提交到其他编码格式跟当前页面编码不一致的url。在IE系列浏览器下有时候还需要通过修改document.charset来实现,修改accept-charset可能在某些版本下无法达到目的。

通过修改这个document.charset编码一定要慎重,有可能在用户后退操作之后造成其他异常。

 

4、onsubmit

这个属性定义的函数是可以在表单submit的时候执行,返回值可以为布尔型,如果返回false,该表单就不会提交到后台,操作终止执行。

但要注意的地方就是,如果是通过js代码来触发表单提交的话,该属性定义的函数不会触发。其实前端js做一些表单的校验判断本身就是不靠谱的,放在onsubmit里面执行就更不靠谱了。

<script>
function add(){
	return false;
}

function sub(){
	document.getElementById("form1").submit();
}
</script>
  <form id="form1" action="/insert" method="post" target="_self" οnsubmit="return add()">
	组件英文名:<input type="text" name="ename"/>
	组件中文名:<input type="text" name="cname"/>
	组件版本号:<input type="text" name="version"/>
	<input type="submit" value="新增组件"/>
	<input type="button" value="新增组件22" οnclick="sub()"/>
</form>

 当然也可以自己定义一些属性放在里面,html这种很宽松的约束也不是说都是缺点,自定义属性还可以给我们带来很多便利的,当然也不要滥用。

好的,以下是一个简单的表单示例: ``` <form action="submit.php" method="post"> <label for="username">用户名:</label> <input type="text" id="username" name="username"><br><br> <label for="password">密码:</label> <input type="password" id="password" name="password"><br><br> <label for="gender">性别:</label> <input type="radio" id="male" name="gender" value="male"> <label for="male">男</label> <input type="radio" id="female" name="gender" value="female"> <label for="female">女</label><br><br> <label for="city">城市:</label> <select id="city" name="city"> <option value="beijing">北京</option> <option value="shanghai">上海</option> <option value="guangzhou">广州</option> <option value="shenzhen">深圳</option> </select><br><br> <label for="message">留言:</label><br> <textarea id="message" name="message" rows="5" cols="50"></textarea><br><br> <input type="submit" value="提交"> </form> ``` 在上面的示例中,我们使用了form标签来创建一个表单,其中: - action属性指定了表单提交到的目标URL为submit.php; - method属性指定了提交表单时使用的HTTP请求方法为POST; - label标签为表单元素添加了标记,使得用户点击标记时可以选中相应的表单元素; - input标签用于创建文本框和单选框; - select标签用于创建下拉框; - textarea标签用于创建文本域; - input标签的type属性为submit,表示创建一个提交按钮。 当用户填写完表单后,点击提交按钮,表单数据将会被打包成HTTP请求发送到服务器上的submit.php文件进行处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值