HTML表单提交的规则
最近在做一个HTML解析的引擎,在处理<FORM>表单时候特别混乱。在此根据近一周的经验总结一下HTML表单的提交规则。
<INPUT> |
TYPE=BUTTON |
永远不提交 |
<INPUT> | TYPE=CHECKBOX | 只在勾选后提交 |
<INPUT> | TYPE=FILE | 永远提交,即使为空值 |
<INPUT> | TYPE=HIDDEN | 永远提交,即使为空值 |
<INPUT> | TYPE=IMAGE | 永远提交,即使为空值 |
<INPUT> | TYPE=PASSWORD | 永远提交,即使为空值 |
<INPUT> | TYPE=RADIO | 只在勾选后提交,如果一组Radio没有任何勾选,全部不提交。 |
<INPUT> | TYPE=RESET | 永远不提交 |
<INPUT> | TYPE=SUBMIT | 点击哪个按钮,则提交这个按钮的值,其他的SUBMIT按钮值都不提交。 如果表单的提交行为是由JavaScript脚本触发的,则不提交任何值。 |
<INPUT> | TYPE=TEXT | 永远提交,即使为空值 |
<BUTTON> |
TYPE=BUTTON |
永远不提交 |
<BUTTON> | TYPE=RESET | 永远不提交 |
<BUTTON> | TYPE=SUBMIT | 点击哪个按钮提交表单,则提交这个按钮的值。 如果省略TYPE,IE默认为BUTTON,火狐默认SUBMIT。 |
<SELECT> |
NONE |
永远提交,即使为空值。 |
<TEXTAREA> |
NONE | 永远提交,即使为空值。 |