单击时禁用按钮

时间:2011-05-28 07:29:19

标签: php button onclick

正如您在下面的代码中看到的,我有2个标记myhk 当我点击hk标记时,它会重定向到hk页面,同时会停用hk按钮以显示与其他按钮的区别。

那么,我使用什么PHP代码来禁用单击的按钮?

<button id="btn_my" dojoType="dijit.form.Button" 
  onClick='location = "<?php echo url_realurl();?>/results/view/all/M"'>
<?php 
  echo ci_create_img('my');
?> <!--this is malaysia flay image -->
</button>
<button id="btn_hk" dojoType="dijit.form.Button" 
  onClick='location = "<?php echo url_realurl();?>/results/view/all/H"'>
<?php 
  echo ci_create_img('hk');
?><!--this is hongkong flay image-->
</button>

1 个答案:

答案 0 :(得分:2)

如果链接到当前页面,您可以阅读$_SERVER['REQUEST_URI']并禁用该按钮。例如:

<?php
$countries = array(
    'my'    =>  '/results/view/all/M',
    'hk'    =>  '/results/view/all/H',
);
?>

<?php foreach ($countries as $code => $uri): ?>

    <?php if ($_SERVER['REQUEST_URI'] === $uri): ?>
    <button class="disabled">
    <?php else: ?>
    <button onClick='location="<?php echo url_realurl().$uri; ?>"'>
    <?php endif; ?>
        <?php echo ci_create_img($code);?>
    </button>

<?php endforeach; ?>

您可能希望trim($uri, '/')trim($_SERVER['REQUEST_URI'], '/')确保斜杠没有错误。

您还可以将$_GET变量附加到?country_code=hk这样的链接,然后阅读:

<?php foreach ($countries as $code => $uri): ?>

    <?php if ($_GET['country_code'] === $code): ?>
    <button class="disabled">
    <?php else: ?>
    <button onClick='location="<?php echo url_realurl().$uri.'?country_code='.$code; ?>"'>
    <?php endif; ?>
        <?php echo ci_create_img($code);?>
    </button>

<?php endforeach; ?>

在那里,您还应该确保检查是否isset($_GET['country_code']),并且页面上的任何其他链接也很可能也必须使用查询字符串。我试图让这个可读。我会写一个函数来亲自阅读网址。

我更喜欢第一种方法。对不起,我不得不用我的编码风格来制作它,但希望你能得到这个想法,这对你有用。