javascript - 是否可以使用 javascript 更改 using id 内的输入元素的输入类型?
问题描述
我有一个密码类型的输入元素,它位于<td>
带有 id的内部type="pass"
。我想将其中的输入元素的类型更改<td>
为type="text"
使用 javascript,我该怎么做呢?我还制作了一个带有onclick()
事件的复选框来切换显示密码。
对不起,我只是一个初学者,几天前才开始学习 javascript。
下面是我的示例代码:
<tr>
<td><input type="text" name="username"></td>
<td id="pass"><input type="password" name="password"></td>
<td><input type="checkbox" onclick="showPass()"></td>
</tr>
我所知道的就是使用 javascript 直接更改输入类型,前提是输入元素具有 id。
这是我的javascript:
function showPass(){
var x = document.getElementById("pass");
if(x.type === "password"){
x.type = "text";
}else{
x.type = "password";
}
解决方案
将 id 放在输入而不是输入所在的单元格上。此外,您可以将复选框的值传递给切换密码输入类型的函数,以避免复选框与输入不同步。
function showPass(show) {
var input = document.getElementById("pass");
var label = document.getElementById("toggle-label");
if (show) {
input.type = "text";
label.textContent = "Hide password";
}
else {
input.type = "password";
label.textContent = "Show password";
}
}
<input id="pass" type="password" name="password" value="your-password" /><br/>
<label id="toggle-label" for="toggle-password">Show password</label>
<input id="toggle-password" type="checkbox" onclick="showPass(this.checked)" />
但是,我建议取消内联onclick
并使用 Javascript 完成所有操作,就像这样......
var input = document.getElementById("pass");
var label = document.getElementById("toggle-label");
var checkbox = document.getElementById("toggle-password");
checkbox.addEventListener("change", function() {
if (checkbox.checked) {
input.type = "text";
label.textContent = "Hide password";
}
else {
input.type = "password";
label.textContent = "Show password";
}
});
<input id="pass" type="password" name="password" value="your-password" /><br/>
<label id="toggle-label" for="toggle-password">Show password</label>
<input id="toggle-password" type="checkbox"/>
推荐阅读
- sql - 可以在 SQL 中存储 ALL 值吗?
- python - `tf.svd` 在 GradientTape 期间失败
- c# - c#如何在表单之间交换
- ios - 将 UIImagePickerController cameraOverlayView 定位在相机预览的顶部
- power-automate - 更改数据输入的 Xpath
- unit-testing - junit中的自定义詹金斯步骤模拟不起作用
- ruby-on-rails - WickedPdf 中的数字签名
- css - 如何从 SVG 格式的 Google 登录按钮中删除蓝色轮廓和阴影
- css - 轮播指示器中的紫色圆点而不是蓝色线条 - primeng
- java - 验证 Jbehave 故事以确保存在步骤