MVC数据提交
关于请求方式(form表单)
1.form的几个属性
<form name="input" action="http://www.baidu.com" method="get">
Username: <input type="text" name="user">
<input type="submit" value="Submit">
</form>
1)浏览器向服务器端提交数据,被提交数据的表单(input、select、textarea等)放到form中,form中通过action属性设定表单被提交给哪个页面,为了在服务端取出表单项的值,需要在HTML中为表单元素设定name属性
2)注意id是给JS操作Dom用的,name才是提交给服务器用的。id不能重复,name可以重复,重复的name的值都会被提交给服务器。
3)method是提交的方式,分get方式和post方式两种
2.GET和POST
Html表单<form>可以自动给服务器提交参数。
clipboard[2]
get是通过url请求参数的方式提交,请求参数会直接暴露在url中。
clipboard[3]
post是通过报文体,提交的数据不会直接暴露给用户。
3.哪些标签会被提交?
哪些标签的哪些值会被提交给服务器呢?将用户填写的内容提交到服务器有如下几个条件:
提交条件1:
只能为 input、textarea、select三种类型的标签。
提交条件2:
只有三种标签的value属性的值(select是选中项的value)才会提交给服务器。标签必须设定name属性(道理:没有name怎么拼网址i=5)。如果要将标签的value属性值提交到服务器,则必须为标签设定name属性,提交到服务器的时候将会以“name=value”的键值对的方式提交给服务器。name是给服务器用的,id是给Dom用的。
提交条件3:
对于RadioButton,同name的为一组,选中的RadioButton的value被提交到服务器。(讲道理:如果都提交,那服务器知道谁被选中了吗?)
提交条件4:
当input=submit的时候,只有被点击的按钮(要有name)的value才会被提交(道理:否则我知道谁被点了?)。
提交条件5:
放到form标签内。只有放到form标签内的标签才可能会被提交到服务器,form之外的input等标签被忽略。
来源:http://www.cnblogs.com/mcad/p/4343555.html