【问题标题】:Two onclick events with a PHP if and else statement - in one button带有 PHP if 和 else 语句的两个 onclick 事件 - 在一个按钮中
【发布时间】:2012-11-16 04:49:19
【问题描述】:

我的网站上已经具备以下功能。它工作正常,但现在,我想创建一种促销,如果显示符合促销的标准,我希望它显示onclick$htx

<?php 
echo "<a href='javascript:;' onclick='pkgsPopup('http://'.$hLnk');' rel='nofollow'>";
?>

我预先定义了$htx 以打开链接$dealpath,如果它不满足该条件,我希望它打开默认链接 - '$hLnk'

我已经尝试了下面的代码,但我遇到了一个错误_我的意思是页面根本不会加载

 if ($htx) { echo "onclick=\'miaPopup('http://$dealPth');\'' }  else { echo 'onclick=\'pkgsPopup('http://$hLnk');\'' }";

如果有人能告诉我如何使用 PHP if/else 语句不出错地执行此操作,我将不胜感激。

【问题讨论】:

  • 看起来你在第二个代码块中的两个 echo 语句上都有一个额外的 '。

标签: javascript php if-statement dom-events


【解决方案1】:

这是您的第二个代码块,它更简洁一些。您在 PHP 中缺少分号以及匹配的转义字符(撇号和引号的混合)

if ($htx) 
{ 
  echo "onclick=\'miaPopup('http://$dealPth');\'" ;
} 
else 
{ 
  echo "onclick=\'pkgsPopup('http://$hLnk');\'" ;
}

【讨论】:

  • Hey Le_garry,您做出了第一个回应,我非常感谢。我使用下面的代码,我得到了它的工作:
  • 没问题,很高兴它成功了。请选择最佳答案并为那些有帮助的人点赞!欢迎来到 SO。
【解决方案2】:

问题是你有回声抽出一个没有意义的长字符串:

 if ($htx) { echo "onclick=\'miaPopup('http://$dealPth');\'' }  else { echo 'onclick=\'pkgsPopup('http://$hLnk');\'' }";

应改为:

if ($htx) {
    echo "onclick='miaPopup(\'http://$dealPth\');'";
}  else {
    echo "onclick='pkgsPopup(\'http://$hLnk\');'";
}

你可以通过说来简化

if ($htx) {
    $url = $dealPth;
} else {
    $url = $hLnk;
}
echo "onclick='pkgsPopup(\'http://$url\');'";

【讨论】:

  • 谢谢罗比,我采用了你的想法,这是一个非常巨大的帮助
【解决方案3】:

这样的东西应该可以工作(此代码未经测试):

$onclick = ($htx ? 'miaPopup("http://'.$dealPth.'");'
            : 'pkgsPopup("http://'.$hLnk.'");');
echo "<a href='javascript:;' onclick='$onclick' rel='nofollow'>";

【讨论】:

  • 感谢 Cegfault。你的想法真的很有帮助。我真的很感激
【解决方案4】:

试试这个

 if ($htx){ 

    $onclick="miaPopup('http://$dealPth');";
    }

    else{ 

    $onclick="pkgsPopup('http://$hLnk');";

    }";

echo "<a href='javascript:;' onclick='$onclick' rel='nofollow'>";

【讨论】:

    【解决方案5】:

    为什么不使用 jQuery

    <a class='one <?=($cond?"two" : "")?>'>Link</link>
    
    <script>
    
    $(function(){
       $(".one").click(function(){
          //Class of one
        });
    
       $(".two").click(function(){
         //class of two
        })
    })
    
    </script>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-02
      • 1970-01-01
      • 2017-08-12
      相关资源
      最近更新 更多