1

I have a signup form that has an input box hidden from view unless a link is clicked. Here's the code:

<a id="showCoupon" href="javascript:void(0);" onclick="toggleCoupon();">
     <?php _e('Have a coupon?','mysite'); ?>
</a>

If the coupon GET variable is set, I want the input box to be visible and prefilled with the supplied data. I added PHP to check for the presence of a GET variable like this:

if(isset($_GET['coupon'])) {
    $coupon = $_GET['coupon'];
}
?>

In addition, the input box has been modified to use the value of $coupon, if set. Now, I can't figure out how to trigger the JS event toggleCoupon();.

I modifying the PHP function to click the link like this:

if ( isset($_GET['coupon']) ) {
   $coupon = $_GET['coupon'];
   echo "<script>$('#showCoupon').trigger('click');</script>";
}
?>

So far, it doesn't work. What am I doing wrong?

4

2 に答える 2

4

やってみました:

<script>
$(document).ready(function(){
$('#showCoupon').trigger('click');
});

</script>

ドキュメントが読み込まれると、jQuery は次の ID を持つ要素のクリック イベントをトリガーします。showCoupon

于 2013-03-23T18:33:30.367 に答える
0

そのようなクラッジを使用しないでください。それはひどい。

代わりに、サーバー側では、URL パラメーターが指定されている場合、最初に要素を非表示にするコード (CSS クラス、「display: none;」など) を出力しないでください。

要素が JavaScript によって非表示になっている場合は、初期状態を表示する必要があることを示す値を渡します。

于 2013-03-23T18:47:32.070 に答える