Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中禁用带有jquery的链接_Php_Jquery - Fatal编程技术网

在php中禁用带有jquery的链接

在php中禁用带有jquery的链接,php,jquery,Php,Jquery,我一直试图禁用一些以某种方式链接到数据库的链接,但我只需要根据$\u会话[] echo '<script language="javascript">'; echo '$("a").removeAttr("href");'; echo "$('a').click(function(event){ event.preventDefault(); alert('No tiene permisos para ingresar'); });"; echo "</scri

我一直试图禁用一些以某种方式链接到数据库的链接,但我只需要根据
$\u会话[]

echo '<script language="javascript">';
echo '$("a").removeAttr("href");';
echo "$('a').click(function(event){
    event.preventDefault();
    alert('No tiene permisos para ingresar');
});";
echo "</script>";
echo';
echo'$(“a”).removeAttr(“href”);
回显“$('a')。单击(函数(事件){
event.preventDefault();
警报(“无任何许可进入”;
});";
回声“;

这些是我尝试过的一些方法,但链接仍在工作。

您缺少就绪功能:

$(document).ready(function() {
  // put your code here.
});

在DOM完全加载之前,大多数JQuery函数将无法工作。

首先,尝试将此代码作为普通JavaScript使用,并使其工作(无PHP),只需禁用链接即可。这样地。。。应该有用

<script language="javascript">
    function disableLinks(){
        $('a').removeAttr('href');
        $('a').click(function(event){
            event.preventDefault();
            alert('No tiene permisos para ingresar');
        });
    }

    //trigger the function after the DOM is ready (possible problem)
    $(document).ready(disableLinks);
</script>

函数禁用链接(){
$('a').removeAttr('href');
$('a')。单击(函数(事件){
event.preventDefault();
警报(“无任何许可进入”;
});
}
//在DOM就绪后触发函数(可能出现问题)
$(文档).ready(禁用链接);
如果这不起作用,请在chrome上使用Javascript控制台并查找错误。确保jQuery已加载。您以前的代码可能在加载页面之前试图禁用链接。document.ready确保首先加载DOM

如果可以的话,添加PHP。我建议让php部分像这样简单。将脚本块的最后一行替换为以下内容

<?php
    if($_SESSION['whatever']=='whatever'){
        echo('$(document).ready(disableLinks);');
    }
?>

这可以做得更干净一点,但这应该可以让你走了


最后,请务必在后端强制执行此操作,因为这很容易被绕过,如果这是阻止访问的唯一方法,则不安全。

使用$.bind和$.unbind

$( "a" ).bind( "click", function() {
         alert( "The quick brown fox jumps over the lazy dog." );
 });
而在会话检查中只需使用unbind

$( "a" ).unbind( "click" );

您需要用

$(document).ready(function()
{
  });

您可以在此链接中看到结果

您对此处的会话一无所知。。会话代码在哪里?请查看这些行是否出现在您的浏览器中“查看源代码”还请查看是否包含jquery更改
。将jquery(“href”)
删除到
。attr(“href”,“javascript:;”)
还建议将其包装到一个自执行函数()中