Html表单中遇到的问题
原文
https://www.jianshu.com/p/4466b8294007
大纲
1、表单提交的方式GET和POST的区别
2、js无法对input的file类型的值进行赋值
3、js获取input中的value值为什么总是字符串
4、只读表单控件的另类设置 ==readonly
推荐
1、表单提交的方式GET和POST的区别
从本质上来说,GET提交就是在URL后跟上页面提交的表单信息,而POST后什么都没有跟。
因此就产生了区别:
1、GET的保密性相对于POST来说会低很多
2、GET提交的URL后会跟上很长的提交信息,但是URL的域名解析也是有一定长度限制的,所以并不是所有都能用GET方式提交
3、在一些GET方式提交时其内容的保密需求不是那么高的时候,可以用GET,并且GET方式后方跟着的内容可以用于资源定位,而POST无法做到,因为POST后面出来URL便没有别的内容了,而GET方式提交的后方还是可以跟上一些内容,通过这些内容浏览器可以定位到在该URL下的更细致的地方,这就是所谓的资源定位。
2、js无法对input的file类型的值进行赋值
出于安全限制,file 的value 是只读的,只能由用户选择或手动输入,不允许由程序代码设置。也就是说,<input type="file">类型的输入框不支持value值的代码设置。
3、js获取input中的value值为什么总是字符串
用js获取input中的value值的时候得到的都是字符串的数据类型,但是并不意外着input中的值就是只有字符串,而是通过js获取的时候得到的值是字符串的格式输出罢了。
input,textarea默认都是字符串。没有内容就是空字符串。可以理解为规范就是这样定的。
这个问题的原因是由于JavaScript实作的DOM介面的方法设计造成的。(如果有兴趣深入了解的读者可以翻查w3c标准)
4、只读表单控件的另类设置 ==readonly
<input type="text" value="focus but blur" onfocus="blur()">
推荐
在这里推荐两篇同样是我写的博客,一篇是详细的关于表单以及表单元素的知识点的文章Html表单元素及表单元素详解,还有一篇是我使用表单的实例应用Html表单使用实例,同样希望能对读者有所帮助。