用js去清除input的value值是無效的,因為瀏覽器填充賬號密碼的動作是在js執行完之后發生的。
瀏覽器會自動尋找第一個輸入框和最后一個密碼框自動填充,我們可以給它添加一些假的密碼框,讓其無法自動填充。
解決辦法:
在自己的input框前后添加假的<input type="password"style="width:0;height:0;float:left;visibility:hidden"/>
<input type="password"style="width:0;height:0;float:left;visibility:hidden"/> <input type="password" style="width:300px;" name="myPassword" id="myPassword" lay-verify="myPassword" autocomplete="off" class="layui-input"> <input type="password"style="width:0;height:0;float:left;visibility:hidden"/>
這個是使用於一般情況下的方法。
由於我使用的是layui采用該方法還是會出現一些不友好的問題
點擊之后依舊會自動填充
最終解決方法:
<input type="text" oninput="if(this.value==''){this.type='text'}else(this.type='password')" /> <input type="password" style="display: none;"/>