我有一个注册表单,除非单击一个链接,否则会从视图中隐藏一个输入框。这是代码:
<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>";
}
?>
到目前为止,它不起作用。我做错了什么?
答案 0 :(得分:2)
你试过了吗?
<script>
$(document).ready(function(){
$('#showCoupon').trigger('click');
});
</script>
当文档加载时,jQuery将触发id为showCoupon
答案 1 :(得分:0)
不要使用这样的kludge。那太糟糕了。
相反,在服务器端,如果提供了URL参数,请不要输出首先隐藏元素的代码段(CSS类,“display:none;”,whatnot)。
如果该元素被JavaScript隐藏,则传递一个值,表明初始状态应该是可见的。