关于表单提交的规则

哪些标签的哪些值会被提交给服务器呢?将用户填写的内容提交到服务器有如下几个条件(使用浏览器监视网络请求验证):
1.只能为 input、textarea、select三种类型的标签。
2.只有以上三种标签的value属性的值才会提交给服务器。
3.如果要将标签的value属性值提交到服务器,则必须为标签设定name属性,提交到服务器的时候将会以“name=value”的键值对的方式提交给服务器。注意id是给JS操作Dom用的,name才是提交给服务器用的。id不能重复,name可以重复,重复的name的值都会被提交给服务器。
4.select标签是选中项的value,select必须设定name值,option设定value值,则提交到服务器的是:select的name值=option的value值,下面的值为car=123
<select name="car">
  <option value="123">text</option>
  <option value="1234">text1</option>
</select>
5.对于radio,同name的为一组,选中的radio的value被提交到服务器,如:
<input type="radio" name="r1" value="111" />
<input type="radio" name="r1" value="222" />
如选中第一个,则提交给服务器的是r1=111
6.当input=submit的时候,只有被点击的按钮(要有name)的value才会被提交。
7.只有放到form标签内的标签才可能会被提交到服务器,form之外的input等标签被忽略。

8.服务器端用context.Request["username"]来根据表单项的name来获得提交的属性值。

9.checkbox没选中为null,选中为"on"。

10.当我们点击【登录】按钮以后是浏览器将用户填写的文本框等控件中的值“提取”出来发送给服务器,而不是服务器来读取用户填写的这个页面。

<form action="Text1.ashx" method="get">
    <input type="text" name="name" value="" />
    <select name="car">
        <option value="123">text</option>
        <option value="1234">text1</option>
    </select>
    <input type="radio" name="r1" value="111" />
    <input type="radio" name="r1" value="222" />
    <input type="checkbox" name="ch" value="333" checked="checked" />
    <input type="submit" name="btn" />
</form>
原文地址:https://www.cnblogs.com/genesis/p/4660902.html