我的网站上有许多使用按钮标签的按钮,虽然在IE8上呈现正常,但它们不可点击(点击它们不会将用户发送到新网址)。是否有任何解决方案来解决这个问题?是因为我将按钮包裹在标签中吗?是因为我使用的是“按钮”的类名吗?
代码是:
<a href="product_home.html">
<button class="button green big_button">Learn more</button>
</a>
答案 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>