如何在Opera中禁用登录/密码突出显示?

时间:2011-01-13 06:40:05

标签: css opera

当用户确认“保存密码”提示时,Opera始终为橙色突出显示登录/密码输入。它不适合我的设计,是否有任何CSS方式来改变/禁用它?

编辑,如果不是CSS,还有其他解决方案吗?

2 个答案:

答案 0 :(得分:4)

无法使用CSS禁用此功能 - 这是一个浏览器功能:-)

你也尝试不同的边框调整:曲线影响高光周围的区域,插入框阴影,背景颜色等等。

答案 1 :(得分:1)

万无一失的JS解决方案。它只是重复用户名和密码字段(更改名称=“”),隐藏原始字段并将它们设置为id = username_original,...当触发form_submit时,新可见字段中的值将被复制到旧字段(隐藏,但是有name属性 - Opera wand会处理这些。)

附加CSS

.hidden {
    position: absolute;
    width: 0; height: 0;
    overflow: hidden;
    visibility: hidden;
}    

JS

if (document.addEventListener) {
    document.addEventListener("DOMContentLoaded", func, false);
}

function func() {
    // duplicate input[id=username], set to original class=hidden
    var obj = document.getElementById("username"); 
    var newObj = obj.cloneNode(true);
    newObj.name = "";     
    obj.id += "_original";  
    obj.className = "hidden";
    obj.parentNode.insertBefore(newObj,obj);   

    // duplicate input[id=password], set to original class=hidden                                       
    var obj = document.getElementById("password"); 
    var newObj = obj.cloneNode(true);
    newObj.name = "";      
    obj.id += "_original";    
    obj.className = "hidden";
    obj.parentNode.insertBefore(newObj,obj);  


    document.getElementById("submit").onclick = formSubmit;
}        

function formSubmit() {
    if(document.getElementById("username_original").value != "") return; 
    else if(document.getElementById("username_original").value != document.getElementById("username").value) {
        document.getElementById("username_original").value = document.getElementById("username").value;
        document.getElementById("password_original").value = document.getElementById("password").value;
    }
    else return false;
}

HTML表单

<form action="" method="post" id="form"><div>   
    <input type="text" id="username" name="username" /><br />
    <input type="password" id="password" name="password" /><br />
    <input type="submit" id="submit" />
</div></form>