我有一个用于确认 ToS 的复选框。在用户未选中此复选框并确认 ToS 之前,PayPal 按钮覆盖有 50% 透明层且无法按下。另一个 PayPal 按钮、查看卡等也是如此。如果用户尝试按下任何 PayPal 按钮而不选中复选框,他会收到 JS 警报,他必须检查它并确认 ToS。
我的问题是,复选框忘记了它的选中状态,如果用户重新加载页面或转到另一个页面,所以他必须检查每个页面上的复选框,这很可悲。
这是代码,HTML和JS,它们使复选框,覆盖和警报推送。该代码在 Joomla 框架内工作,并与 Joomla 的组件一起工作 K2 JQuery: HTML
<p class="toskorb">Please check the checkbox and confirm our ToS!<input class="checkbox" name="TOS" id="TOS" value="read" type="Checkbox" /><img src="https://www.paypalobjects.com/de_DE/DE/i/btn/btn_paynowCC_LG.gif">
JS
var $K2 = jQuery.noConflict();
$K2(document).ready(function(){
//$K2('#TOS').attr('checked', false);
//$K2('input[type=image]').attr("class", "agbunchecked");
//$K2('input[type=image]').bind("click", giveAllert);
if(!$K2('#TOS').attr('checked')) //
{
$K2('input[type=image]').attr("class", "agbunchecked");
$K2('input[type=image]').bind("click", giveAllert);
}
function giveAllert()
{
alert("Please check the checkbox and confirm our ToS!");
return false;
}
$K2('#TOS').change(function(event){
if(this.checked)
{
$K2('input[type=image]').attr("class", "agbchecked");
$K2('input[type=image]').unbind("click");
}
else
{
$K2('input[type=image]').attr("class", "agbunchecked");
$K2('input[type=image]').bind("click", giveAllert)
}
});
});
太好了,如果有人知道这些东西可以完成此代码,以便在所有页面上选中后选中复选框。感谢您提供正确方向的任何代码片段、完成和建议
PS:对不起,我没有早点说过:如果可能的话,我正在寻找使用会话而不是 cookie 的解决方案。在去年的欧盟 cookie 法之后,越来越多的人拒绝使用 cookie:(
PPS:此代码在页面刷新和返回<->向前浏览时记住复选框选中状态:
<?php
$a = array("ToS_yes");
foreach($a as $key => $value)
{
echo "<input type='checkbox' name='rating[]' value='$value'"; if(in_array($value,$_POST['rating'])) echo " checked "; echo ">$value";
}
?> 但是如何记住其他页面的状态呢?这就是诀窍