如果用户名无效,则隐藏链接

If username is invalid, hide links

本文关键字:隐藏 链接 无效 用户 如果      更新时间:2023-09-26

这是我第一次使用perl和vb之外的任何东西,所以请原谅我。

我能够比较两个需要匹配的字段,如果它们不匹配,那么我需要完全隐藏HTML链接。这要怎么写呢?

获取第一个userid

($("#trid").val());            
    ($("#pxuserid").text());
    var test = $("#pxuserid").text().indexOf("-");
    var username = $("#pxuserid").text().substring(test + 1);
    (username);

获取第二个userid并将其从全大写改为小写。

($("[name=vsvadm]").val()); 
    var str = $("[name=vsvadm]").text("checked", true).val().toLowerCase();
    (str);

这些是我需要显示/隐藏的

<div class="pxcontent" id="sarea">
   <div class="pxvtab" id="pxform">
      <div class="pxvtablinks">  

       <a href="javascript:act();" rel="#page2">Directories</a>
       <a href="javascript:act();" rel="#page5">Accounting</a>
       <a href="javascript:act();" rel="#page6">Advanced</a>
       <a href="javascript:act();" rel="#page7">Security</a>

我试图让脚本说"如果userid1不等于userid2,那么隐藏页5,6和7,但只显示页2,否则继续"希望我没有混淆任何人,有人可以帮助!

给所有的<a>标签一个class:

<a href="javascript:act();" class="nav-links" rel="#page2">Directories</a>
<a href="javascript:act();" class="nav-links" rel="#page5">Accounting</a>
<a href="javascript:act();" class="nav-links" rel="#page6">Advanced</a>
<a href="javascript:act();" class="nav-links" rel="#page7">Security</a>

然后检查条件并隐藏它:

if (userid1 != userid2)
  $(".nav-links").hide();

注意:这应该在服务器端而不是客户端处理。有经验的用户(现在几乎所有人)可以通过使用开发工具访问隐藏元素。

假设strusername是你想比较的…

 if(str !== username) $("a").hide();

这隐藏了所有链接,正如你的问题所说,但不应该用来阻止用户查看它们。如果你的链接需要是安全的,那么授权应该在服务器端完成。

还可以去掉所有包装在perens中的独立语句。

您需要比较字符串,然后遍历链接

var username1 = 'username1'
var username2 = 'username2'
// Do compare
if (username1 !== username2) {
    // Loop over the links
    $.each($('.pxvtablinks a'), function() {
        // If it doesn't have a rel attribute equal to '#page2'...
        if ($(this).attr('rel') !== '#page2') {
            // hide it.
            $(this).hide()
        }
    })
}

示例:https://codepen.io/mark_c/pen/mAQwpE