<按钮>无法在IE8中工作</button>

时间:2011-08-15 05:55:42

标签: html button internet-explorer-8 tags

我的网站上有许多使用按钮标签的按钮,虽然在IE8上呈现正常,但它们不可点击(点击它们不会将用户发送到新网址)。是否有任何解决方案来解决这个问题?是因为我将按钮包裹在标签中吗?是因为我使用的是“按钮”的类名吗?

代码是:

<a href="product_home.html">
<button class="button green big_button">Learn more</button>
</a> 

7 个答案:

答案 0 :(得分:9)

你的标记错了,IE在这里没有错。 Button是一个表单元素,这意味着它需要一个围绕它的表单,用户应该被发送 - 将按钮包装到链接标签中是不够的,也不是完全有效的,事实上我认为它不应该在任何地方工作,不是甚至在其他浏览器中也是如此。

要详细了解<button/>的正确用法,请访问XHTML Reference: button

答案 1 :(得分:5)

你可以随时使用Javascript,它可以跨浏览器工作 -

<button onclick="location.href='http://www.google.com'">This is a button to google</button>

答案 2 :(得分:3)

你可以尝试:

<a href="product_home.html" class="button green big_button">Learn more</a> 

或将按钮放在表格中

答案 3 :(得分:3)

跨浏览器 - 适用于MSIE 8和FF 24 +

<button onclick="location.href='myscript.php?id=$ID'" type="button">MyLink</button>.

答案 4 :(得分:1)

my other answer;我认为这是一种基于jQuery的现代方法,可以为旧的IE修补此问题,而不会破坏你的干净标记。

<!--[if lt IE 9]>

<script type="text/javascript">
// IE8 is the new IE6. Patch up https://stackoverflow.com/questions/2949910/how-to-make-href-will-work-on-button-in-ie8
$('button').click(function(){
    document.location = $(this).parents('a').first().prop('href');
});
</script>

<![endif]-->

答案 5 :(得分:0)

样本用法:

<form id="myform" name="myform" action="product_home.html">
  <input id="user" name="user" type="text" value="" />
  <button class="button green big_button" type="submit">Learn more</button>
  <button class="button green big_button" type="reset"><b>reset the form!</b></button>
</form>

<script type="text/javascript">

var myform = document.getElementById('myform');

myform.onsubmit = function()
{
    alert(myform.user.value); 
if (myform.user.value != '') return true;
    return false;
}

</script>

答案 6 :(得分:0)

<a href="product_home.html">
<div class="button green big_button">Learn more</div>
</a>