我看到 ,我们可以这样写:
<form method="link" action="foo.html" >
<input type="submit" />
</form>
做一个“链接按钮”。
但我知道,我们可以这样写:
<a href="foo.html" ><input type="button" /></a>
这也将这样做。
有什么不同? 什么是浏览器的兼容性?
我看到 ,我们可以这样写:
<form method="link" action="foo.html" >
<input type="submit" />
</form>
做一个“链接按钮”。
但我知道,我们可以这样写:
<a href="foo.html" ><input type="button" /></a>
这也将这样做。
有什么不同? 什么是浏览器的兼容性?
您链接到该网页不正确。 没有link
的价值method
在HTML属性。 这将导致形式回退到该方法属性的默认值, get
,其等同于具有一个锚固元件href
属性无论如何,因为两者将导致一个HTTP GET
请求。 表单的唯一有效的值method
在HTML5是“get”和“后”。
<form method="get" action="foo.html">
<input type="submit">
</form>
这是一样的你的榜样,但有效; 并等价于:
<a href="foo.html">
您应该使用语义来确定实施的形式,它的方式。 由于有用户填写没有表单域,这是不是一个真正的形式,因此你不需要使用<form>
得到的效果。
当使用一个例子GET
形式是一个搜索框:
<form action="/search">
<input type="search" name="q" placeholder="Search" value="dog">
<button type="submit">Search</button>
</form>
上述允许访问者输入自己的搜索查询,而这种定位的元素并不:
<a href="/search?q=dog">Search for "dog"</a>
然而,在提交时都将转到同一页/点击(假设用户在不改变第一个文本字段
顺便说一句,我用下面的CSS让看起来像按钮链接:
button,
.buttons a {
cursor: pointer;
font-size: 9.75pt; /* maximum size in WebKit to get native look buttons without using zoom */
-moz-user-select: none;
-webkit-user-select: none;
-webkit-tap-highlight-color: transparent;
}
.buttons a {
margin: 2px;
padding: 3px 6px 3px;
border: 2px outset buttonface;
background-color: buttonface;
color: buttontext;
text-align: center;
text-decoration: none;
-webkit-appearance: button;
}
button img,
.buttons a img {
-webkit-user-drag: none;
-ms-user-drag: none;
}
.buttons form {
display: inline;
display: inline-block;
}
第二种情况将不予办理除输入参数的标签内。 它会沿用HREF只有当形式将增加所有输入GET请求字符串。
<form action='http://localhost/?' method='get'><input type="text" name="test"><input type="submit" value="GO"/></form>
和
<a href='http://localhost/?'><input type="text" name="test"><input type="submit" value="GO"/></a>
将不同的工作
随着<a name="markname"></a>
您可以通过使用URL如滚动该标记的位置进入视野http://example.com/index.html#markname
。 我不认为任何形式或输入这么做。 我认为,对于使用<input type="button" window.location.href='foo.html'/>
的JavaScript将必须被激活。 此外, <form>s
通常导致线断裂, <a>s
没有。
在功能上的差异。
虽然是的,他们都表现得有点像彼此,还是有一些理由来使用他们意味着什么元素。 在大多数情况下,你失去了一个按钮链接功能; 你无法右键点击并打开一个新的标签或窗口,例如。
考虑语义和规格,以及:所述按钮元件(无论哪个变化使用; <input type="button">
或<button></button>
)的目的是用于通过使用形式。
所有提到的方法达到同样的效果,除非它们包含多个参数,如:
<input type="button" value="Cancel">
<input type="button" value="Submit">
仅供参考使用:
<form>
<INPUT TYPE='button' onClick="parent.location='location'">
</form>
对于一个按钮链接