0

如果选中了一个复选框,是否有使锚标签可点击的方法,反之亦然(如果未选中复选框,锚标签不可点击)?

我之所以要求这样做是因为我正在开发一个定制的护齿器网站,而我的客户希望访问者在能够将护齿器添加到购物车并继续结帐之前单击一个复选框(这意味着他们同意这些条款)。

现在我在图像标签周围有一个锚标签(由于签署了保密协议,我无法显示任何代码,但我会显示设置):

<input type="checkbox" name ="" id="" />

<a href="" target="" class="" onClick=""><img src="" border="" alt="" /></a>

请让我知道如何实现我的目标。谢谢。

4

3 回答 3

1

onclick锚点中,如果未选中复选框,则可以返回 false,如果选中复选框,则返回 true。这意味着当复选框被选中时,链接将被跟踪。

<input type="checkbox" name ="" id="terms" />
<a href="http://google.com" target="" class="" onClick="return checkTerms();"><img src="" border="" alt="" /></a>

<script>
function checkTerms()
{
    var ticked = document.getElementById("terms").checked;

    if(!ticked) alert("Please accept the terms");

    return ticked;
}
</script>
于 2013-01-07T09:03:50.600 回答
0

您必须将其添加到代码中:

<a href="" target="" class="" onClick="checkInput(); return false;"><img src="" border="" alt="" /></a>

然后在里面checkInput,只检查复选框的状态。

如果选中,则使用

document.location = "Add to Cart Location";

或者:你可以使用这个:

document.getElementById("myCheckBox").addEventListener ("change", function() {
    if(this.checked) {
        document.getElementById("myLink").href = "Proper HREF";
    } else {
        document.getElementById("myLink").href = "#";
    }
}
于 2013-01-07T09:00:35.050 回答
0

假设你把它包裹在一个 div 中,你可以这样:

<div class="login">
 <span>I have read and agree to the terms and conditions. <input type="checkbox" name ="" id="" /></span>
 <a href="" target="" class="" onClick=""><img src="" border="" alt="" /></a>
</div>

然后在你的 JavaScript 中。

$('.login a').click(function(ev) {
   var $checkbox = $('.login input');

   if ( $checkbox.is(':checked') ) {
     console.log('GO AHEAD');
   } else {
     alert('You need to accept the terms and conditions before proceeding');
     $checkbox.addClass('error');
     ev.preventDefault();
   } 
});
于 2013-01-07T09:02:29.733 回答