使用javascript根据用户类型隐藏/取消隐藏文本字段?

使用javascript根据用户类型隐藏/取消隐藏文本字段?,javascript,jquery,Javascript,Jquery,加载表单页面时,它会自动将用户帐户的类型从数据库拉入名为check_type的文本字段。我想根据用户帐户类型隐藏/取消隐藏文本字段。如果是管理员帐户,则显示textfield1,对于任何其他帐户,键入hide textfield1 这是我写的代码;但是,它不起作用。也许,我使用了错误的语法 <?php // Include config file require_once "config.php"; $sql="SELECT * FROM users WH

加载表单页面时,它会自动将用户帐户的类型从数据库拉入名为check_type的文本字段。我想根据用户帐户类型隐藏/取消隐藏文本字段。如果是管理员帐户,则显示textfield1,对于任何其他帐户,键入hide textfield1

这是我写的代码;但是,它不起作用。也许,我使用了错误的语法

 <?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>