javascript - 如何使用 JavaScript/jQuery 编辑 PHP 变量?

标签 javascript php html jquery cookies

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

基于 .avflipswitch 复选框状态,我想在 '_blank''_self' 这样我就可以将该值推送到我的 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>

最佳答案

您可以使用 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>

关于javascript - 如何使用 JavaScript/jQuery 编辑 PHP 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54079448/

相关文章:

php - 未设置域时产生 404 错误 (WHM/CentOS)

javascript - 根据页面加载值隐藏和显示 div

javascript - 为什么我在此表单上得到 'object is not a function'?

html - 如何在每个条目的右侧制作一个带有箭头的垂直 CSS 菜单?

javascript - 使用嵌入在自己网站中的小部件从 Soundcloud 获取歌曲

javascript - 修复不能在 html 中使用 bootstrap 4

javascript - 如何检查网格的特定位置是否有元素?

javascript - CSS + JS – 在 sidenav 打开时向右推送主体而不调整图像大小

php - 在自定义查询php中匹配用户密码

php - 当其他类使用 php 中的类中的常量变量时​​,什么时候将其加载到 RAM 中?