我尝试使用相同输入中的信息执行表单。它在所有输入中都能正常工作,但在密码中,如果用户引入密码时可以更改为点数会更好。我希望它是类型文本,并且只有在用户引入密码时才更改为键入密码。问题出在最后一行代码中:
我在这里生活:http://jsfiddle.net/Nt9gx/
<form>
<input type="text" name="name" value="name"
onfocus="if (this.value=='name') this.value = '';"
onblur="if (this.value=='') this.value = 'name';"
/>
<input type="text" name="password" value="password"
onfocus="if (this.value=='password') this.value = '' type = password;"
onblur="if (this.value=='') this.value = 'password';"
"if (this.value!=''|| 'password') type = password ;"
/>
</form>
答案 0 :(得分:3)
使用HTML5占位符
要完成工作,您应该只使用HTML5 placeholder
- 属性,如下所示:
<input type="password" name="password" placeholder="Password">
这样:
顺便说一下:
onblur
,这只会发生一次'
(单引号)中转义单词密码而不是"
(双引号)< / del>(问题已更新)password
|| password)
的未定义变量
type="password"
用于处理密码的输入字段,因为输入将是“不可见的”注意:强>
如果您仍想使用JavaScript,只需更新type="text"
- 属性,就必须在焦点和模糊事件中将输入从type="password"
更改为type
。
这是你可以做到的:
<input type="text" name="password" value="password"
onfocus="if (this.value == 'password') { this.value = '', this.setAttribute('type','password'); }"
onblur="if (this.value == '') { this.value = 'password', this.setAttribute('type','text'); }"
>
答案 1 :(得分:0)
<input type="text" name="name" value="name"
onfocus="if (this.value=='name') this.value = '';"
onblur="if (this.value=='') this.value = 'name';"
/>
<input type="password" name="password" value="password"
onfocus="if (this.value=='password') this.value = '';"
onblur="if (this.value=='') this.value = 'password';"
onblur="if (this.value!=''|| password) value = 'password';"
/>
你输了双引号!
答案 2 :(得分:0)
您可以像这样更改密码输入:
<input type="text" name="password" value="password" type="password"
onfocus="if (this.value=='password') this.value = '';"
onblur="if (this.value=='') this.value = 'password';"
/>
Yoc可以在if (this.value=='')
中添加更多条件,但只能在此onblur
中执行此操作而不会写入另一个onblur
您在最后一行有this.value = "password"
这是错误的,您必须使用'password'
代替"password"
在最后一个if条件中,您具有在使用之前未定义的参数password
。你应该在此之前定义var password
,否则你应该改变这个条件