有时候我们希望回车键敲在文本框(input element)里来提交表单(form),但有时候又不希望如此。比如搜索行为,希望输入完关键词之后直接按回车键立即提交表单,而有些复杂表单,可能要避免回车键误操作在未完成表单填写的时候就触发了表单提交。
要控制这些行为,不需要借助 JavaScript,浏览器已经帮我们做了这些处理,下面举几个例子来说明:
- 默认情况下,一个文本框的时候,提交,不管按钮 type 是 submit 还是 button:
1
<
form
action
=
"http://www.nowamagic.net"
>
2
<
input
type
=
"text"
>
3
<
input
type
=
"button"
value
=
"提交"
>
4
</
form
>
- 一个文本框的时候怎么才能做到不提交,方法是加一个隐藏掉的文本框:
1
<
form
action
=
"http://www.nowamagic.net"
>
2
<
input
type
=
"text"
>
3
<
input
type
=
"text"
style
=
"display:none"
>
4
<
input
type
=
"button"
value
=
"提交"
>
5
</
form
>
- 只要有type为submit的按钮存在,一个文本框还是多个文本框都提交:
1
<
form
action
=
"http://www.nowamagic.net"
>
2
<
input
type
=
"text"
>
3
<
input
type
=
"submit"
value
=
"提交"
>
4
</
form
>
1
<
form
action
=
"http://www.nowamagic.net"
>
2
<
input
type
=
"text"
>
3
<
input
type
=
"text"
>
4
<
input
type
=
"submit"
value
=
"提交"
>
5
</
form
>
- 多个文本框的时候,不提交,用type为button的按钮就行啦:
1
<
form
action
=
"http://www.nowamagic.net"
>
2
<
input
type
=
"text"
>
3
<
input
type
=
"text"
>
4
<
input
type
=
"button"
value
=
"提交"
>
5
</
form
>
- 用button元素时,FF和IE下有不同的表现:
1
<
form
action
=
"http://www.nowamagic.net"
>
2
<
input
type
=
"text"
>
3
<
input
type
=
"text"
>
4
<
button
>提交</
button
>
5
</
form
>
- radio和checkbox在FX下也会触发提交表单,在IE下不会:
1
<
form
action
=
"http://www.nowamagic.net"
>
2
<
input
type
=
"text"
>
3
<
input
type
=
"radio"
name
=
"a"
>
4
<
input
type
=
"checkbox"
name
=
"b"
>
5
<
input
type
=
"checkbox"
name
=
"c"
>
6
<
input
type
=
"button"
value
=
"提交"
>
7
</
form
>
- type为image的按钮,等同于type为submit的效果
1
<
form
action
=
"http://www.nowamagic.net"
>
2
<
input
type
=
"text"
>
3
<
input
type
=
"text"
>
4
<
input
type
=
"image"
src
=
"http://www.nowamagic.net/images/FeedMe.jpg"
>
5
</
form
>
转载:http://liuna718-163-com.javaeye.com/blog/808850