【问题标题】:Why does an <input type='button'> wrapped in an <a> tag not work in IE?为什么包裹在 <a> 标签中的 <input type='button'> 在 IE 中不起作用?
【发布时间】:2012-03-16 09:04:19
【问题描述】:

此代码适用于 Firefox、Chrome 和 Safari,但在 (Windows) IE 8 上对我来说失败:

<a href='http://google.com'>
   <input type="button" name='go' value='go'>
</a>

为什么?我应该只使用(笨拙的)onClick 事件来解决它吗?

咕噜咕噜……

【问题讨论】:

  • 你试过&lt;a href='http://google.com'&gt;&lt;button&gt;go&lt;/button&gt;&lt;/a&gt; 吗?
  • 刚刚尝试过——同样的事情:在 Chrome 中有效,在 IE 8 中无效:-(
  • 您在a 中包含button 的动机是什么?

标签: html internet-explorer internet-explorer-8


【解决方案1】:

&lt;a&gt; 元素内不能有 &lt;button&gt;

您可以向&lt;a&gt; 添加一些 CSS,使其看起来像一个按钮。

或者像这样绕过它:

<input type="button" value="Google" onClick="javascript:location.href = 'http://google.com';" />

【讨论】:

  • +1 那不是有效的 HTML “输入的元素不能作为 a 元素的后代出现。” validators是你的朋友
  • javascript: 不是必需的 - 它是 onClick 中的 javascript,而不是 url
  • 无论如何,“绕过它”是一个糟糕的解决方案;对于没有 JavaScript 的人来说,它不会去任何地方。更好地设置链接样式。
  • 谢谢。如果您在访问我的网站时关闭了 Javascript,那么您将遇到比此特定按钮不起作用更大的问题 :-)
  • 这为我修复了它,现在可以在 IE9 中使用。正如 Eric 所说,您必须启用 javascript 才能让我们的网站正常运行。
猜你喜欢
  • 2011-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-10
  • 2016-01-06
  • 2012-06-10
  • 2017-07-02
相关资源
最近更新 更多