使用javascript根据用户类型隐藏/取消隐藏文本字段?
加载表单页面时,它会自动将用户帐户的类型从数据库拉入名为check_type的文本字段。我想根据用户帐户类型隐藏/取消隐藏文本字段。如果是管理员帐户,则显示textfield1,对于任何其他帐户,键入hide textfield1 这是我写的代码;但是,它不起作用。也许,我使用了错误的语法使用javascript根据用户类型隐藏/取消隐藏文本字段?,javascript,jquery,Javascript,Jquery,加载表单页面时,它会自动将用户帐户的类型从数据库拉入名为check_type的文本字段。我想根据用户帐户类型隐藏/取消隐藏文本字段。如果是管理员帐户,则显示textfield1,对于任何其他帐户,键入hide textfield1 这是我写的代码;但是,它不起作用。也许,我使用了错误的语法 <?php // Include config file require_once "config.php"; $sql="SELECT * FROM users WH
<?php
// Include config file
require_once "config.php";
$sql="SELECT * FROM users WHERE username = '$user' ";
$result = mysqli_query($mysqli,$sql);
while($row = mysqli_fetch_array($result)) {
$type = $row['acct_type'];
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Hide/ Unhide</title>
<script language="javascript" type="text/javascript">
$(document).ready(function() {
var check_type = document.getElementById("check_type");
var atype = document.getElementById("atype");
if(check_type == 'Admin')
{
atype.style.display = "block";
}
else
{
atype.style.display = "none";
}
});
</script>
</head>
<body>
<form>
<div>
<input name="check_type" id="check_type" type="hidden" value="<?php echo $type; ?>">
</div>
<div class="form-group">
<label>Account Type</label>
<select type="text" name="atype" id="atype" class="form-control" value="<?php echo $atype; ?>">
<option value="<?php echo $atype; ?>" selected><?php echo $atype; ?></option>
<option value="User">User</option>
<option value="Admin">Admin</option>
</select>
<span></span>
</div>
<div>
<input type="submit" id="submit" value="Submit"/>
</div>
</form>
</body>
</html>
隐藏/取消隐藏
$(文档).ready(函数(){
var check_type=document.getElementById(“check_type”);
var-atype=document.getElementById(“atype”);
如果(检查_type==“Admin”)
{
atype.style.display=“块”;
}
其他的
{
atype.style.display=“无”;
}
});
只需在get元素中添加值即可获得元素值,请尝试:
检查类型值
$(文档).ready(函数(){
var check_type=document.getElementById(“check_type”);
var textfield1=document.getElementById(“textfield1”);
如果(检查\u type.value=='Admin')
{
textfield1.style.display=“块”;
}
其他的
{
textfield1.style.display=“无”;
}
});
您需要检查检查类型的值。但这取决于用于检查类型的元素的类型。如果是其输入类型,则值否则innerHTML
已更新
类型:管理员
$(文档).ready(函数(){
//输入类型
var check_type=document.getElementById(“check_type”);
var textfield1=document.getElementById(“atype”);
如果(检查\u type.value=='Admin'){
textfield1.style.display=“块”;
}否则{
textfield1.style.display=“无”;
}
});代码>
帐户类型
使用者
管理
取决于元素的类型检查类型
那么您可能缺少。value
我尝试了代码;我更改了check_type字段中的值;但是,它没有隐藏文本字段。请添加您的HTML?然后我们就能了解发生了什么。并检查开发人员控制台中是否存在任何错误。这也可能是你的javascript被破坏的情况。我更新了从你那里复制的代码。它起作用了。顺便说一句,您想动态更改显示/隐藏功能吗?@JackYuan我同时添加了这两个功能。试着跑狙击手,谢谢。我发现了问题所在。当我将jquery脚本链接放在javascript之上时,它起作用了。它不起作用。
<script language="javascript" type="text/javascript">
$(document).ready(function() {
var check_type = document.getElementById("check_type");
var textfield1 = document.getElementById("textfield1");
if(check_type.value == 'Admin')
{
textfield1.style.display = "block";
}
else
{
textfield1.style.display = "none";
}
});
</script>