Javascript 如何使密码文本框值在悬停图标时可见
大家好 我有一个带有密码字段的表单:Javascript 如何使密码文本框值在悬停图标时可见,javascript,jquery,html,css,Javascript,Jquery,Html,Css,大家好 我有一个带有密码字段的表单: <input type="password" name="password" size="30" /> 当然,输入文本将替换为(*) 因此,如果用户键入123,该框将显示*** 到目前为止,这是直截了当的,但是 现在,我想在密码框旁边添加一个小图标,这样当用户将鼠标悬停在这个图标上时,他可以看到到目前为止输入的内容 因此,在悬停时,框将显示123,当用户离开图标时,框应再次显示*** 有没有办法用JavaScript实现这一点?另外,我正在
<input type="password" name="password" size="30" />
当然,输入文本将替换为(*)
因此,如果用户键入123
,该框将显示***
到目前为止,这是直截了当的,但是
现在,我想在密码框旁边添加一个小图标,这样当用户将鼠标悬停在这个图标上时,他可以看到到目前为止输入的内容
因此,在悬停时,框将显示123
,当用户离开图标时,框应再次显示***
有没有办法用JavaScript实现这一点?另外,我正在使用HTML和PHP
编辑:
它实际上不需要是图标,可以是复选框或按钮。。。如果可以在CSS中完成,我真的很想知道如何
另外,我已经用谷歌搜索了stackoverflow,但是运气不好当鼠标移动到文本框上时,你需要通过javascript获取文本框,并将其
类型更改为文本。当您将其移出时,您将希望将其更改回密码
。在纯CSS中不可能做到这一点
HTML:
谷歌搜索给了我1分钟的时间。请参见
HTML
它是简单的javascript。通过切换输入的类型
属性完成。检查这个正如这些人所说,只需更改输入类型。
但别忘了把字体改回去
请参阅我的简单jquery演示:
HTML:
函数见文本(x){
x、 type=“text”;
}
函数见星号(x){
x、 type=“密码”;
}
试试看它是否有效我使用这一行代码,它应该可以:
<input type="password"
onmousedown="this.type='text'"
onmouseup="this.type='password'"
onmousemove="this.type='password'">
试试这个:
在HTML和JS中:
//将密码字段转换为悬停时的文本。
var passField=$('input[type=password]');
$('.show pass').hover(函数(){
attr('type','text');
},函数(){
attr('type','password');
})
函数demo(){
var d=document.getElementById('s1');
var e=document.getElementById('show_f')。值;
var f=document.getElementById('show_f')。类型;
如果(d.值=“显示”){
var f=document.getElementById('show_f')。type=“text”;
var g=document.getElementById('show_f')。value=e;
d、 value=“隐藏”;
}否则{
var f=document.getElementById('show_f')。type=“password”;
var g=document.getElementById('show_f')。value=e;
d、 value=“show”;
}
}
密码:
完成下面的示例。我只是喜欢复制/粘贴:)
HTML
<div class="container">
<div class="row">
<div class="col-md-8 col-md-offset-2">
<div class="panel panel-default">
<div class="panel-body">
<form class="form-horizontal" method="" action="">
<div class="form-group">
<label class="col-md-4 control-label">Email</label>
<div class="col-md-6">
<input type="email" class="form-control" name="email" value="">
</div>
</div>
<div class="form-group">
<label class="col-md-4 control-label">Password</label>
<div class="col-md-6">
<input id="password-field" type="password" class="form-control" name="password" value="secret">
<span toggle="#password-field" class="fa fa-lg fa-eye field-icon toggle-password"></span>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
JS
.field-icon {
float: right;
margin-right: 8px;
margin-top: -23px;
position: relative;
z-index: 2;
cursor:pointer;
}
.container{
padding-top:50px;
margin: auto;
}
$(".toggle-password").click(function() {
$(this).toggleClass("fa-eye fa-eye-slash");
var input = $($(this).attr("toggle"));
if (input.attr("type") == "password") {
input.attr("type", "text");
} else {
input.attr("type", "password");
}
});
在这里试试:一种没有在几个Broser上测试过的快速响应,
在gg chrome/win上工作
->焦点事件->显示/隐藏密码
<input type="password" name="password">
在一行代码中,如下所示:
文本字段上的光标显示文本。否则,将显示密码
您在搜索时使用了什么短语?输入类型密码可见为什么在Odin的名字中,当问题清楚地针对简单明了的JavaScript进行回答时,会出现jQuery混乱?它在chrome和Firefox中运行良好,但在IE上不起作用。。我已经安装了IE 10,这与IE 10配合得很好,我关闭了兼容性视图。那么旧的IEs呢?这是非常基本和低级的javascript,因此应该与非常旧的浏览器兼容。只有在设置var a=document.getElementById('a')时才有效
全局之前它应该是onmouseover
和onmouseout
,我喜欢。以浏览器生成onmouseover事件的特定速度在editbox上移动鼠标指针,但没有足够的时间生成onmouseout并确保它保持纯文本模式。
<script>
function seetext(x){
x.type = "text";
}
function seeasterisk(x){
x.type = "password";
}
</script>
<body>
<img onmouseover="seetext(a)" onmouseout="seeasterisk(a)" border="0" src="smiley.gif" alt="Smiley" width="32" height="32">
<input id = "a" type = "password"/>
</body>
<input type="password"
onmousedown="this.type='text'"
onmouseup="this.type='password'"
onmousemove="this.type='password'">
<html>
<head>
</head>
<body>
<script>
function demo(){
var d=document.getElementById('s1');
var e=document.getElementById('show_f').value;
var f=document.getElementById('show_f').type;
if(d.value=="show"){
var f= document.getElementById('show_f').type="text";
var g=document.getElementById('show_f').value=e;
d.value="Hide";
} else{
var f= document.getElementById('show_f').type="password";
var g=document.getElementById('show_f').value=e;
d.value="show";
}
}
</script>
<form method='post'>
Password: <input type='password' name='pass_f' maxlength='30' id='show_f'><input type="button" onclick="demo()" id="s1" value="show" style="height:25px; margin-left:5px;margin-top:3px;"><br><br>
<input type='submit' name='sub' value='Submit Now'>
</form>
</body>
</html>
<div class="container">
<div class="row">
<div class="col-md-8 col-md-offset-2">
<div class="panel panel-default">
<div class="panel-body">
<form class="form-horizontal" method="" action="">
<div class="form-group">
<label class="col-md-4 control-label">Email</label>
<div class="col-md-6">
<input type="email" class="form-control" name="email" value="">
</div>
</div>
<div class="form-group">
<label class="col-md-4 control-label">Password</label>
<div class="col-md-6">
<input id="password-field" type="password" class="form-control" name="password" value="secret">
<span toggle="#password-field" class="fa fa-lg fa-eye field-icon toggle-password"></span>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
.field-icon {
float: right;
margin-right: 8px;
margin-top: -23px;
position: relative;
z-index: 2;
cursor:pointer;
}
.container{
padding-top:50px;
margin: auto;
}
$(".toggle-password").click(function() {
$(this).toggleClass("fa-eye fa-eye-slash");
var input = $($(this).attr("toggle"));
if (input.attr("type") == "password") {
input.attr("type", "text");
} else {
input.attr("type", "password");
}
});
<input type="password" name="password">
// show on focus
$('input[type="password"]').on('focusin', function(){
$(this).attr('type', 'text');
});
// hide on focus Out
$('input[type="password"]').on('focusout', function(){
$(this).attr('type', 'password');
});