Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改表中输入的类型_Javascript_Html - Fatal编程技术网

Javascript 更改表中输入的类型

Javascript 更改表中输入的类型,javascript,html,Javascript,Html,我正在尝试将一行中显示的输入文本的类型从文本更改为密码。它会像我想要的那样更改类型,但显示的文本不会从可见变为不可见 函数changeType(){ var x=document.getElementById(“表”).rows[1]。单元格; var值=x[0]。值; 如果(x[0]。类型==“密码”){ x[0]。type=“text”; }否则{ x[0]。type=“password”; } } 网站 用户名 密码 您可以在自己的代码上使用querySelector使此操作变得非常简

我正在尝试将一行中显示的输入文本的类型从文本更改为密码。它会像我想要的那样更改类型,但显示的文本不会从可见变为不可见

函数changeType(){
var x=document.getElementById(“表”).rows[1]。单元格;
var值=x[0]。值;
如果(x[0]。类型==“密码”){
x[0]。type=“text”;
}否则{
x[0]。type=“password”;
}
}

网站
用户名
密码

您可以在自己的代码上使用
querySelector
使此操作变得非常简单,如下所示:

函数changeType(){
var x=document.querySelector(“input.password”);
var值=x.0值;
如果(x.type==“密码”){
x、 type=“text”;
}否则{
x、 type=“密码”;
}
}

网站
用户名
密码

评论中提到了HTML和JavaScript的问题:

  • 元素周围缺少
  • x
    指的是表格单元格,而不是输入
  • 在您的上下文中,我将通过为每个元素提供自己的ID来简化。
    这样就不需要遍历DOM

    您可以在原始代码中随意使用inline
    onclick
    方法。
    我把它改成了我自己喜欢的

    功能切换类型(输入){
    input.type=(input.type='password')?
    “文本”:
    “密码”;
    }
    var pass_input=document.getElementById(“pass_input”);
    var pass_toggle=document.getElementById('pass_toggle');
    pass_toggle.addEventListener('change',function(){
    切换类型(通过输入)
    });
    
    th{
    文本对齐:左对齐;
    }
    标签{
    光标:指针;
    }
    
    网站
    用户名
    密码
    
    您的输入周围缺少
    td
    s。您的HTMl无效
    td
    s应该在
    tr
    s中。
    x
    指的是表格单元格,而不是itok中的输入,thx,但这可能不是问题所在。@zwerg4的答案到目前为止是100%正确的。