我有一个注册表单,有一个输入框从视图隐藏,除非链接被点击。下面是代码:
<a id="showCoupon" href="javascript:void(0);" onclick="toggleCoupon();">
<?php _e('Have a coupon?','mysite'); ?>
</a>
如果设置了优惠券GET变量,我希望输入框是可见的,并预先填充了提供的数据。我添加了PHP来检查是否存在GET变量,如下所示:
if(isset($_GET['coupon'])) {
$coupon = $_GET['coupon'];
}
?>
此外,输入框已修改为使用设置的$coupon
的值。现在,我不知道如何触发JS事件toggleCoupon();
。
我修改PHP函数来点击链接,像这样:
if ( isset($_GET['coupon']) ) {
$coupon = $_GET['coupon'];
echo "<script>$('#showCoupon').trigger('click');</script>";
}
?>
到目前为止,它不起作用。我做错了什么?
你试过了吗:
<script>
$(document).ready(function(){
$('#showCoupon').trigger('click');
});
</script>
当文档加载时,jQuery将触发对id为showCoupon
的元素的点击,
不要使用这样的拼凑工具。这是很糟糕的。
相反,在服务器端,如果提供了URL参数,就不要输出一开始隐藏元素的代码(CSS类,"display: none;",等等)。
如果元素被JavaScript隐藏,传递给它一个值,表明初始状态应该是可见的。