Javascript 如果用户名无效,请隐藏链接
这是我第一次用perl和vb以外的语言做很多事情,所以请耐心听我说 我能够比较两个需要匹配的字段,如果它们不匹配,那么我需要完全隐藏HTML链接。这是怎么写的 这将获取第一个用户标识Javascript 如果用户名无效,请隐藏链接,javascript,jquery,html,Javascript,Jquery,Html,这是我第一次用perl和vb以外的语言做很多事情,所以请耐心听我说 我能够比较两个需要匹配的字段,如果它们不匹配,那么我需要完全隐藏HTML链接。这是怎么写的 这将获取第一个用户标识 ($("#trid").val()); ($("#pxuserid").text()); var test = $("#pxuserid").text().indexOf("-"); var username = $("#pxuserid").text().subst
($("#trid").val());
($("#pxuserid").text());
var test = $("#pxuserid").text().indexOf("-");
var username = $("#pxuserid").text().substring(test + 1);
(username);
这将获取第二个用户标识,并将其从全大写改为小写
($("[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 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>
注意:这实际上应该在服务器端而不是客户端处理。有经验的用户(现在几乎所有人)都可以使用开发工具访问隐藏的元素
假设您要比较的是
str
和username
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()
}
})
}
示例:这应该在服务器端完成,在客户端,用户可以看到正在发生的事情(无论多么模糊),并且您似乎正在检查站点中保存的值,您的用户可以访问该值。另外,仅供参考,您的以下语句不做任何操作,即检索值并丢弃它:
($(“#trid”).val())
,($(“#pxuserid”).text()代码>,(用户名)代码>,($(“[name=vsvadm]”)val()代码>,(str)
是否有一个简单的命令只将类添加到第5、6、7页?@CharlesZ我想最好使用服务器端来处理这个问题。但是是的。
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()
}
})
}