在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:;”)
还建议将其包装到一个自执行函数()中