【问题标题】:How do I edit PHP variable with JavaScript/jQuery?如何使用 JavaScript/jQuery 编辑 PHP 变量?
【发布时间】:2019-06-02 09:59:53
【问题描述】:

我想根据复选框元素 .avflipswitch 的当前状态更新 PHP 变量 $LinkOpen

基于.avflipswitch 复选框状态,我想在'_blank''_self' 之间切换我的PHP 变量$LinkOpen 的值,以便我可以将该值推送到我的Google CSE链接目标属性。


到目前为止我所尝试的:

 $('.avflipswitch').on("change", function (e){ 
   if(this.checked){
     functionOne(<?php $LinkOpen = '_blank';?>);
   }
   else{
     functionTwo(<?php $LinkOpen = '_self';?>);
   }
});

<gcse:searchresults-only linktarget="<?php echo $LinkOpen;?>"></gcse:searchresults-only>

【问题讨论】:

  • PHP 在 JavaScript 代码之前运行,所以不确定你期望发生什么。
  • 所以不可能吗? :|
  • 这只能用 PHP 完成吗?
  • 你到底想做什么?根据您正在做的事情,有不同的解决方案。

标签: javascript php jquery html


【解决方案1】:

你正在尝试的东西在 php 中是不可能的,但使用 jquery 很容易:

$('.avflipswitch').on("change", function (e){ 
    if(this.checked){
     $('a').attr("target","_self")
    }
    else{
     $('a').attr("target","_blank")
    }
});

【讨论】:

    【解决方案2】:

    您可以使用 JavaScriptjQuery 将值推送到 cookie,然后让 PHP 从该 cookie 中检索值,如下所示:

    JavaScript + PHP:

    /* JavaScript */
    const switch = document.querySelector(".avflipswitch")[0];
        
    switch.addEventListener("change", function(){
      let blankTar = "_blank";
      let selfTar = "_self";
          
      if(this.checked){
        document.cookie = "target =" + blankTar;
        window.location.reload();
      }
      else{
        document.cookie = "target =" + selfTar;
        window.location.reload();
      }
    }
    
    /* PHP */
    
    <gcse:searchresults-only linktarget="<?php echo $_COOKIE['target']; ?>"></gcse:searchresults-only>

    jQuery + PHP:

    /* jQuery */
    
    $('.avflipswitch').on("change", function (){
      let blankTar = "_blank";
      let selfTar = "_self";
    
      if(this.checked){
        document.cookie = "target =" + blankTar;
        window.location.reload();
      }
      else{
        document.cookie = "target =" + selfTar;
        window.location.reload();
      }
    });
    
    /* PHP */
    
    <gcse:searchresults-only linktarget="<?php echo $_COOKIE['target']; ?>"></gcse:searchresults-only>

    【讨论】:

    • 是的,再次感谢,您的代码运行完美,您能给我一个建议吗,如何添加和安全搜索按钮,关闭和激活?
    • 我不确定你是什么意思 Leo。安全搜索按钮?
    • 与此相同,但没有 _blank/_self,如果未选中 SafeSearch="off",则如果选中 SafeSearch="active",我想做关闭/活动示例
    • 哦,好的。所以你想把这个切换属性添加到 HTML 元素或其他东西上吗?
    • 带有复选框以允许用户更改搜索 angine SafeSearch="active" SafeSearch=="off" 等更改我想将活动更改为关闭,或关闭为活动,但这是不同的,如果我没有找到解决方案,我会再次提出新问题,再次感谢您的帮助。
    猜你喜欢
    • 2014-03-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-13
    • 2011-01-23
    • 2017-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多